QT常用的三个类
QWidget:空白窗口,精简版窗口(没有工具栏)派生出两个子类
QMainWindow:带菜单栏的窗口
QDialog:带对话框的窗口
QApplication 应用程序类
- 管理图形用户界面应用程序的控制流和主要设置(后台完成)。
- 是Qt的整个后台管理的命脉它包含主事件循环(主事件循环:弹出界面后,会观察该界面何时发生变化并给出相应的反馈),在其中来自窗口系统和其它资源的所有事件处理和调度。
也处理应用程序的初始化和结束,并且提供对话管理。- 对于任何一个使用Qt的图形用户界面应用程序,都正好存在一个QApplication对象,而不论这个应用程序在同一时间内是不是有0、1、2或更多个窗口。
- .pro文件:工程文件,是qmake自动生成的用于生产makefile的配置文件
- widget.h:
- main.cpp:
- widget.h:
qt支持组件编程,可以加数据库组件,网络组件
可以手动设置模块
按钮
按钮的构造函数
调整按钮位置
按钮一般用new实例化一个button对象,直接从堆区申请空间,程序结束或者人为手动释放则可释放,这样设置可以让父对象释放它,因为button要显示在主窗口中,需要button放在子对象列表中。
创建按钮
方式1:
- QPushButton* button=new QPushButton
buttoc->show()会新开辟一个窗口- 此时需要设置按钮父对象是窗口
button->setParent(this)
方式2:
- QPushButton* button=new QPushButton(“按钮名”,this)
按钮属性设置
- button->setText(“按钮名字”)
- 设置按钮位置
button->move(x,y)
窗口中,以左上角为原点(0,0),X轴向右增加,Y轴向下增加- 设置按钮大小
button->setFixedSize(x,y)
对象模型(对象树)
就是Qt对象间的父子关系
在创建QObject对象时,可以提供一个其父对象,我们创建的这个QObject对象会自动添加到其父对象的children列表
某个对象析构,该对象的children列表都会析构
QObject类是祖宗
最好不要在栈上创建组件,可能两次析构窗口中的组件(先创建组件,再创建窗口就会出错)