QT的项目的创建
QWidget:是一个空窗口
QMainWindow:继承于QWidget,有菜单栏,工具栏。。。
QDialog:继承于QWidget,是对话框窗口
生成的文件:
00_test.pro:项目文件,相当于Vs下面的.sln
main.cpp:程序的入口文件
mywidget.cpp:窗口的cpp文件
mywidget.h:窗口的h文件
main.cpp
#include "mywidget.h"//窗口的头文件
#include <QApplication>//QApplication应用程序类
//程序入口
int main(int argc, char *argv[])
{
//a 应用程序对象 在Qt中 应用程序对象有且只有一个
QApplication a(argc, argv);
MyWidget w;//窗口类 实例化对象w
w.show();//窗口是不会默认弹出的,需要调用show函数
return a.exec();//进入消息循环机制
}
.pro
#Qt包含的模块
QT += core gui
#大于四版本加入widget模块
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
CONFIG += c++11
#生成.exe程序的名称
TARGET = 01_QtFirst
#模板 应用程序模板
TEMPLATE = app
DEFINES += QT_DEPRECATED_WARNINGS
#源文件
SOURCES += \
main.cpp \
mywidget.cpp
#头文件
HEADERS += \
mywidget.h
# Default rules for deployment.
qnx: target.path = /tmp/$${TARGET}/bin
else: unix:!android: target.path = /opt/$${TARGET}/bin
!isEmpty(target.path): INSTALLS += target
基本模块
快捷键
运行 CTRL+R
编译 CTRL+B
查询 CTRL+F
注释 CTRL+/
帮助文档 F1
字体缩放 CTRL+鼠标滚轮
整行代码移动 CTRl +SHIFT+箭头
自动对齐 CTRL+i
同名头与源文件切换 F4
设置编码格式
选择------>《工具》------->选择《文本编辑器》------->选择《行为》设置编码格式
信息和槽(事件的机制)
QT的信息就是事件的一些触发机制,connect:(信号的发送者,消息的事件,消息处理者,消息的处理) 四者连接到一起。
自定义信号
//自定义信号,写到signals下
//返回值是void
//只需要声明,不需要实现
//可以有参数,可以发生重载
自定义槽函数
//槽函数public slots中,可以写成全局函数,public作用下或者lambda函数
//返回值:需要声明和实现,可以有参数,重载
使用步骤
1.声明信号函数(不用实现)。
2.定义槽函数,需要声明和实现。
3.要有触发信号的函数,使用emit来触发信号函数,emit this->zt->overClass();
4.调用函数。
发生重载的时候
需要使用函数指针来重新指定函数的地址
//函数指针可以指向函数的地址
void(Teacher::*teacherSignal)(QString)=&Teacher::overClass;
void(Student::*studentSlot)(QString)=&Student::eat;
connect(zt,teacherSignal,ct,studentSlot);