【qt开发】qt了解
文章目录
- qt项目创建
- 为什么要学习Qt?
- 学习QT应该学习什么?
- 快捷键
- Qt类的命名规范:
- 函数名字:
- Qt内置的类型,头文件和类命名同名
- Qt中的对象树![请添加图片描述](https://img-blog.csdnimg.cn/930fb127984e428cbabbbdb42ae6d4e1.png)
- .pro文件中,各字符表示的意思
qt项目创建
1.创建路径不能有中文。
qt开发工具:qtcreator
优势:
1.跨平台,几乎支持所有的平台。(一次编码,随处编译)
2.接口简单,容易上手
3.开发效率高,能够快速构建应用程序。
4.很好的社区氛围,市场份额逐年上升。
5.可以进行嵌入式开发。
qt的成功案例:
1.linux桌面环境
2.wps office
3.skype 聊天软件
4.谷歌地球
5.VLC多媒体播放器
mft是windows开发
qt分装了window的API
为什么要学习Qt?
1.锻炼编程能力,GUI编程比后台更能锻炼人,除了核心数据处理,需要更好的协调界面,同时懂得前端和后台编程,才能写出更好的程序。
2.为了更好的使用C++,很多游戏,后台服务器都是使用c++实现的,学习QT框架能够为以后的工作打下一个良好的基础。
总结:学习Qt是为了更好的使用C++。而且可以拓展个人能力。
学习QT应该学习什么?
1.学会帮助文档的使用。F1
2.掌握qt中常用的类,以及其使用方法。(按钮类,标签类,编辑框类)
记住类的名字就好了,不需要记住方法。知道类是要干嘛的就行了。
快捷键
1.帮助文档:F1
2…h文件和对应的.cpp文件切换时 :F4
3.编译运行:ctrl + R ,只是编译 ctrl+B
4.函数声明和定义切换:F2
5.查找替换关键字:ctrl+f
6.注释ctrl + /
Qt类的命名规范:
单词的首字母必须时大写,单词和单词之间直接连接,无需连接符
如:MyClass,QpushButton
class MainWindow
{
};
函数名字:
变量名:第二个单词开始(不是第一个单词开始),首字母大写,单词和单词之间直接连接,无需连接符。
如:
void setFlag();
QString getText();
bool isDrow();
Qt内置的类型,头文件和类命名同名
每一个类,对应一个头文件。
#include 字符串类
QString str;
#include
QWidget w;
创建一个简单的窗口
版本控制工具 git svn vss
QWidget: 所有窗口类的父类。
QDialog :顶层窗口(第一个打开的窗口,对话框窗口) ,只有一个关闭按钮。
QMainWindow:菜单栏,工具栏。
#include "mywidget.h" //添加的窗口类,//在qt中类名和头文件名相同
#include <QApplication> //应用程序类:比如创建好的窗口的拖动,放大缩小等int main(int argc, char *argv[])
{//应用程序类,在每一个qt程序中有且仅有一个QApplication a(argc, argv);//窗口类,创建出来之后默认不显示myWidget w; //如果要对 窗口操作,就必须对 w进行操作//显示窗口w.show();//走到后台进行了一个消息(里面就是一个死循环,收到某一个信号就会结束,结束对窗口的监听)return a.exec();
}
1.首先需要一个应用程序类
2.需要一个窗口类
myWidget w; //如果要对 窗口操作,就必须对 w进行操作
QPushButton(QWidget *parent = 0) //指定一个父窗口
QPushButton(const QString &text,QWidget *parent = 0) //还可以设置按钮显示内容
QPushButton(const QString &text,QWidget *parent = 0) //还可以给按钮加上图片
- b2 = new QPushButton(“hello,qt”,
this
); //必须指定父对象,才可以显示再父窗口类中,b2不用回收,由系统自动回收
Qwidget Class 继承自Object类
定时器也是Object的派生类,不属于窗口类
Qt中的对象树![](/assets/blank.gif)
当父对象要析构的时候,所有的子对象都已经被析构掉了
.pro文件中,各字符表示的意思
遇到的问题1:undefined reference to `vtable for MyButton’
处理方法就是重新qmake一下,也可以修改pro文件进而引发重新生成Makefile。
myWidget::myWidget(QWidget *parent): QWidget(parent)
{//初始化/** 如果窗口要依赖于一个窗口,需要给该窗口指定一个父类* 父窗口显示的时候,子窗口也会随之显示*/b2 = new QPushButton("hello,qt",this); //b2不用回收b2->setText("姓名");b2->show(); //窗口类创建出来的时候是默认不显示的b2->resize(200,80);//还可以b1.setParent(this);b1.setText("年龄");//修改按钮的位置 --移动//窗口的坐标系 ,原点在左上角,X轴向右递增,y向下递增b1.move(200,0);//窗口也会跟着增大//如何指定创阔的大小b1.resize(200,80);//内存自动回收//1.从Object派生的类,1.直接 2.间接//1.指定父类,父亲析构的时候,先析构其孩子//创建自定义的按钮对象,首先需要包含头文件MyButton *btn = new MyButton(this); //提供的构造函数只有一个参数btn->setText("性别");btn->resize(200,80);btn->move(400,0);//设置窗口的标题this->setWindowTitle("史倩钰是猪猪");this->resize(1000,800);//使得窗口的大小不能变化this->setFixedSize(1000,800);//自定义窗口图标// this->setWindowIcon("/home/stu/qtproject/beauty.jpg");
}
【qt开发】qt了解相关推荐
- Qt开发-QT Widgets
前言 Qt Quick和Qt Widgets这两种技术,官方是强推Qt Quick的. 注意: Qt Widgets使用Python结合PySide2开发的时候,窗口的缩放,内部的组件不会随之缩放,用 ...
- Qt开发-QT Quick
前言 QT Quick和Qt widgets这两种技术,官方是强推QT Quick的. QT Quick中布局一般有如下四种方式, 绝对坐标:x.y.z.width.height.top.left 锚 ...
- Qt开发Activex笔记(一):环境搭建、基础开发流程和演示Demo
若该文为原创文章,转载请注明原文出处 本文章博客地址:https://blog.csdn.net/qq21497936/article/details/113773009 长期持续带来更多项目与技术分 ...
- qt工程在linux系统里颜色显示错误_【飞凌嵌入式RK3399开发板试用体验】+QT开发环境搭建测试(二)...
作者:飞扬的青春 在拿到开发板之后,已经体验了Android操作系统,接下来就是体验Linux下的开发,本次以QT的一个小案例来测试下. 首先是自己先搭建了一个Ubuntu18.04的虚拟机,使用真机 ...
- QT开发(五十)——QT串口编程基础
QT开发(五十)--QT串口编程基础 一.QtSerialPort简介 1.串口通信基础 目前使用最广泛的串口为DB9接口,适用于较近距离的通信.一般小于10米.DB9接口有9个针脚. 串口通信的主要 ...
- 【Qt开发】【VS开发】【Linux开发】OpenCV、Qt-MinGw、Qt-msvc、VS2010、VS2015、Ubuntu Linux、ARM Linux中几个特别容易混淆的内容...
[Qt开发][VS开发][Linux开发]OpenCV.Qt-MinGw.Qt-msvc.VS2010.VS2015.Ubuntu Linux.ARM Linux中几个特别容易混淆的内容 标签:[Qt ...
- [转]使用QT开发GoogleMap瓦片显示和下载工具
第一节 之前做项目的时候经常遇到需要大量地图背景数据,然后没有数据被逼着去Google上下载瓦片数据在拼接成整张影像的工作,其实遥感影像晚上有很多可以下载到的,但是大部分是作为研究用的,作为GIS的背 ...
- Qt安装—图文并茂搭建VS2008+QT开发环境
(一)工欲善其事,必先利其器,废话不多讲. 总结起来网上流行的VS2008+QT安装说明有以下几个问题需要解释清楚: 1,首先明确需要下载什么版本的QT.网上流行的安装说明只是针对过去旧版本 ...
- QT开发(六十四)——QT样式表(二)
QT开发(六十四)--QT样式表 本文主要翻译自QT官方文档Qt Style Sheets . 五.QT样式表参考 QT样式表支持多种的属性.状态和子控件,使得定制组件的外观成为可能. 1.组件 以下 ...
- 【Qt】Qt 开发桌面程序 ( Qt 版本 5.14.2 | 编辑 Qt 桌面按钮控件 | 修改按钮文本 | 为按钮添加点击事件 | 系统调用 | 去掉系统调用命令窗口 )
文章目录 一.添加按钮控件 二.修改按钮文本 三.为按钮添加点击事件 ( 弹出对话框 ) 四.为按钮添加点击事件 ( 打开记事本 ) 五.为按钮添加点击事件 ( 打开计算器 ) 六.去掉系统调用时弹出 ...
最新文章
- IT兄弟连 JavaWeb教程 JSON和JSON字符串
- dplayer js控制 自动全屏_Qt编写安防视频监控系统18-云台控制
- [待总结]各种中文乱码分析与处理:数据库、eclipse、linux to windows、web应用
- Tempter of the Bone(HDU1010)
- 从前馈到反馈:解析循环神经网络(RNN)及其tricks
- 未来教育计算机二级第一套ppt解析,计算机二级未来教育PPT部分答案
- Redmine 126邮件服务器的配置
- c++获取一段代码的执行时间_微软IE浏览器JScript脚本引擎远程代码执行漏洞通告...
- zynq 和fpga区别_FPGA复位的正确打开方式
- css 3D 旋转 - Demo
- 伦敦大学计算机研究生雅思要求,伦敦TOP10大学的雅思入学要求来了!
- 从《如何在只有一份错误的协议的情况下,做好网络编程》论人品的重要性
- 51单片机基础——串口发送66,数码管显示66
- Android开发需要学什么,技术实现
- 极速系列05—python批量拆分/合并PDF文档
- python画樱花(一)
- maven工程私服仓库配置(阿里云仓库)
- 电脑可以上网,但是qq登陆不上去?
- 30岁女会计转行学计算机,30多转行当会计怎么样?30岁转行做会计晚不晚-之了课堂...
- C语言实验室内部培训讲义
热门文章
- 用于电子书的RSS——OPDS
- RRDtool简体中文教程
- RRDTOOL 学习
- grub 2.0安装linux,grub2引导安装kali2.0及安装ibus拼音输入法
- GLPI数据库中的表结构,常用表的含义及其定位
- 【浏览器被劫持解决方案】https://www.hao123.com/?tn=9762xxxx2644_hao_pg
- 数据结构2(线性表)
- Android用Double Array Trie (双数组)实现关键字的搜索
- PHP redis配置说明
- 【视觉高级篇】23 # 如何模拟光照让3D场景更逼真?(上)