QT窗口部件
默认部件基类
QT提供的默认部件基类包括QMainWindow、QWidget、和QDialog,这三个部件基类也是用的最多的。
QMainWindow是带有菜单栏、工具栏、状态栏的主窗口类,它有自己单独的布局。布局有一个中心区域,通常是标准的QT部件,也可以是定制的部件,且必须有一个中心小部件。setCentralWidget()方法可设置中心部件。
QWidget类是所有部件对象的基类,被称为基础窗口部件。
QWidget提供自我绘制和处理用户输入等基本功能,如接收鼠标、键盘和其他事件,并且在屏幕上绘制自己的表现。每一个窗口部件都是矩形的,并且它们是按照Z轴(由屏幕里到屏幕外)顺序排列的。一个窗口部件可以被它的父窗口部件或者它前面的窗口部件盖住一部分。一个没有父窗口部件的窗口部件一直是顶级窗口部件。非顶级窗口部件时父窗口的子部件。
QWidget构造函数有两个参数:QWidget*parent = 0,QT:WindowFlages f = 0。
parent即父窗口,默认为0,即没有父窗口,是顶级窗口,如果指定parent值,则当前窗体将会是一个子部件。QT:WindowFlags是QT:WindowType,枚举值的组合,用来设置窗口的属性,f=0表示默认为QT:Widget风格,setWindowState()可设置窗体的状态,参数由QT:WindowStates枚举值指定。
QWidget类关系表
窗体状态
模态
窗口间的阻塞情况,是否必须先关闭某一窗口之后,才能对另一个窗口进行操作。
被设置为模态窗口的窗口关闭之后才能对其他窗口进行操作。
QDialog是各种对话框的基类,其继承自QWidget,对话框有两种表现形态:形态对话框、非模态对话框。模态对话框就是一个阻塞同一应用程序中其它可视窗口的输入对话框。用户必须完成当前对话框中的交互操作并且关闭窗口后才能操作当前音乐程序中的其它窗口。模式对话框有它们自己的本地事件循环。exec()方法可使窗口以模态方式运行。当用户关闭这个对话框,exec()将提供一个可用的返回值并且这时流程控制继续从调用exec()的地方进行。
通常,我们链接默认按钮,例如"OK"到accpet()槽并且把"Cancel"链接到reject()槽,来使对话框关闭并且返回适当的值。另外,我们也可以连接done()槽,传递给它Accepted或Rejected。
模态窗口运行
(1)调用exec()方法,如
QDialog dlg;
dlg.exec();
(2)调用setModal()方法设置模态,如
QDialog dlg;
dlg.setModal(true);
dlg.show();
(3)QWidget widget;
widget.setWindowModality(Qt::ApplicationModal);
widget.show();
其他部件
QLabel
常用来显示文本、文字、图片、gif动图。
可与其他部件设置伙伴关系,此时标签起到快捷键作用。
QLineEdit
接收用户输入。
可以增加限制条件,例如只能让用户输入什么。
掩码字符
QPushButton
按钮类,常用显示文字图标。
QRadioButton
单选按钮类,只能选一个,将单选框按钮加入一个分组框中时,加入的按钮是一个分组,分组中只能选中一个,具有排他性。
QCheckBox
多选按钮类,可多选。
略....
评论区