1.QT简介
1.1.跨平台图形界面引擎
1.2.历史
1.2.1.1991 奇趣科技
1.3.优点
1.3.1.跨平台
1.3.2.接口简单,容易上手
1.3.3.一定程度上简化内存的回收
1.4.版本
1.4.1.商业版
1.4.2.开源版
1.5.成功案例
1.5.1.Linux桌面环境KDE
1.5.2.谷歌地图
1.5.3.VLC多媒体播放器
2.创建第一个Qt程序
2.1.点击创建项目,选择项目路径以及给项目起名称
2.2.名称 不能有中文 不能有空格
2.3.路径 不能有中文路径
2.4.构建套件MinGw UTF8编码
2.5.默认创建有窗口类,myWidget,基类有三种选择QWidget(包含) QMainWindow QDialog
2.6.main函数
2.6.1.QApplication a 应用对象,有且仅有一个
2.6.2.myWidget w; 实例化窗口对象
2.6.3.W.show() 调用show来显示窗口
2.6.4.Return a.exec() 让应用程序的对象进入消息循环机制中,代码阻塞到当前行
3.按钮控件常用的API
3.1.创建 QPushButton * btn = new QPushButton;
3.2.设置父亲btn->setParent(this);
3.3.设置文本 btn->setText(“文字”);
3.4.设置位置 btn->move(宽,高);
3.5.重新指定窗口大小 resize(宽,高);
3.6.重新指定按钮大小 btn->resize(宽,高);
3.7.设置窗口标题 setWindowTitle(“文字”);
3.8.设置窗口固定的大小 setFixedSize(宽,高);
3.9.解决乱码:工具->选项->文本编辑器->行为->文件编码->默认编码:UTF-8;
3.10.快捷键:
3.10.1.注释 ctrl + /
3.10.2.运行 ctrl + r
3.10.3.编译 ctrl + b
3.10.4.字体缩放 ctrl + 滚轮
3.10.5.查找 ctrl + f
3.10.6.整行移动 ctrl + shift + ⬆ + ⬇
3.10.7.帮助文档 F1
3.10.8.自动对齐 crtl + i
3.10.9.同名之间的 .h 和 .cpp 切换 F4
3.10.10.帮助文档 F1 左侧按钮 F:\Qt\5.9\mingw53_32\bin下的assistant.exe
3.11.命名规范
3.11.1.类名 首字母大写,单词和单词之间首字母大写
3.11.2.函数名 变量名称 首字母小写,单词和单词之间首字母大写
4.对象树
4.1.当创建的对象在堆区的时候,如果指定的父亲是QObject派生下来的类或者QObject子类派生下来的类,可以不用管理释放的操作,对象会放入对象树中。
4.2.一定程度下简化了内存回收机制。自动释放:从子类到父类依次释放,打印顺序不代表释放顺序:析构顺序和构造顺序相反。
4.3.在Qt中,尽量在析构的时候就指定 parent 对象,并且大胆的在堆上创建。
5.Qt中的坐标系
5.1.坐标体系:
5.1.1.以左上角为原点(0,0),X 向右增加(+),Y 向下增加(+)。
5.1.2.对于嵌套窗口,其坐标是 相对于父窗口 说的。
6.信号和槽
6.1.连接的函数:connect
6.2.参数
6.2.1.参数1 信号的发送者
6.2.2.参数2 发送的信号 (函数的地址)
6.2.3.参数3 信号的接受者
6.2.4.参数4 处理的槽函数 (函数的地址)
6.3.信号槽的优点:松散耦合,信号发送端 和 接受端 本身是没有关联的,通过connect连接 将两端 耦合在一起。
6.4.实现 点击按钮 关闭按钮的案例
6.5.Connect(btn,&QPushButton::click,this,&QWidget::close);