我们在通过Qt向导窗口基于窗口的应用程序的项目过程中倒数第二步让我们选择跟随项目创建的第一个窗口的基类, 下拉菜单中有三个选项, 分别为: QMainWindow、QDialog、QWidget如下图:
常用的窗口类有3个
在创建Qt窗口的时候, 需要让自己的窗口类继承上述三个窗口类的其中一个。
一、 QWidget类
QWidget
是Qt框架中所有用户界面对象的基类。它提供了一种用于创建窗口和其他可视化元素的基础机制。以下是QWidget
类的一些关键特性和常用方法:特性:
父子关系:
QWidget
支持层次结构,可以通过设置父对象来组织窗口和控件。绘制和事件处理:
QWidget
有一些虚拟函数,比如paintEvent
,可以被子类重写以实现自定义的绘制和事件处理逻辑。布局管理:
QWidget
可以包含布局管理器,用于自动管理子控件的位置和大小。样式表: 通过使用样式表(类似于CSS),可以定制
QWidget
及其子类的外观。焦点:
QWidget
支持焦点管理,可以接收焦点并处理键盘事件。大小和位置:
QWidget
可以设置大小和位置,并且有一些方法用于获取和设置这些属性。
二、QDialog类
QDialog
类是Qt框架中用于创建对话框的基类。对话框是一个独立的窗口,通常用于执行特定任务、显示信息、或者收集用户输入。QDialog
提供了一些默认的对话框行为,同时也允许开发者通过继承并定制其行为。以下是
QDialog
类的一些特性和常用方法:特性:
按钮框架(Button Box):
QDialog
通常包含一个按钮框架,用于容纳标准的对话框按钮(如确定、取消、应用等),这可以通过QDialogButtonBox
来实现。返回结果: 对话框可以返回一个结果,例如用户的选择或输入,通过调用
QDialog::exec()
来模