- Base class:用QtCreater创建项目,会自动生成一些代码(代码内容是一个类),此处要选择这个自动生成的类的父类是谁
QWidget:表示一个控件,窗口上一个具体的元素,输入框、按钮、下拉框
QMainWindow:完整的应用程序窗口,菜单栏、工具栏、状态栏
QDialog:表示一个对话框 - Form file:通过form file文件,以图形化的方式来生成界面
- Kit:选择基于哪个编译器的Qt SDK来构建后续代码
Qt文件介绍
main.cpp文件介绍
- QApplication a;
编写一个Qt的图形画界面程序,一定要有该类对象 - Widget w;
在创建项目时,生成的Widget类,父类是QWidget,用来创建一个控件对象 - exec;
执行程序
Widget.h文件
Widget.cpp文件
- 点击ui文件,Qt Creator调用Qt Designer,打开ui文件(一个图形化的界面编辑器)
- 本质是一个xml文件(与html相似,都是使用标签来表示数据)
Qt中xml文件用来描述程序界面的样子,qmake会调用相关的工具,依据这个xml文件生成C++代码
pro文件:Qt项目的工程文件,是qmake自动生成的,类似makefile文件
按钮
按钮的构造函数
调整按钮位置
按钮一般用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)
对象树
A控件中,嵌入了B控件,会生成一个树形关系,A就是一个父节点,B对象是一个子节点
对象被组织起来后,A控件被销毁后,该控件内的所有对象都会被销毁
最好不要在栈上创建组件
1定义的控件随着函数的结束而销毁,只是瞬间存在一下
2可能两次析构窗口中的组件(先创建组件,再创建窗口就会出错)
坐标系
Qt中,屏幕最左上角是原点(0,0)
x轴正方向水平向右
y轴正方向水平向下
B控件坐标系的原点是A控件的左上角