窗口部件
QT提供的默认基类只有QMainWindow、QWidget、和QDialog这三种,这三种窗体也是用的最多的,QMainWindow是带有菜单栏和工具栏的主窗口类,QDialog是各种对话框的基类,而他们全部继承自QWidget。不仅如此,所以的窗口部件都继承自QWidget,继承关系如图所示。
1.基础窗口部件QWidget
QWidget类是所有用户界面对象的基类,被称为基础窗口部件。像主窗口、对话框、标签、还有按钮、文本输入框等都是窗口部件。这些部件可以接受用户输入,显示数据和状态信息,并且在屏幕上绘制自己。QT把没有嵌入到其它部件的部件称为窗口,一般窗口都有边框和标题栏,就像程序中的widget和label一样,QMainWindow和大量的QDialog子类是最一般的窗口类型,窗口就是没有父部件的部件,所以又称为顶级部件,
2.对话框QDialog
1.模态对话框和非模态对话框
QDialog类是所有对话框窗口类的基类,对话框窗口是一个经常用来完成短小任务或者和用户进行简单交互的顶层窗口。按照运行对话框是否可以和该程序其它窗口交互,对话框被称为:模态和非模态的。
模态对话框 即在没有关闭之前,不能再与同一个应用程序的其它窗口进行交互,比如新建项目时弹出的对话框。要使一个对话框称为模态的,则只需要调用它的exec()函数。
非模态对话框 即可以在同一程序中与他交互,如查找替换对话框。要使之称为非模态