- QT常用的窗体基类为QWidget、QDialog、QMainWindow
窗体类的继承图如下图:
- QWidget:在没有指定父容器时可作为独立的窗口,指定父容器后可以作为容器的内部组件
- QDialog:用于设计对话框,以独立窗口显示(消息对话框,文件对话框等),详情见文章:javascript:void(0)
- QMainWindow:用于设计带有菜单栏、工具栏、状态栏的主窗口,一般以独立窗口显示
- QSplashScreen:用作应用程序启动时的splash窗口,没有边框
- QMdiSubWindow:用于为QMdiArea提供一个子窗体,用于MDI(多文档)应用程序的设计
- QDesktopWidget:具有多个显卡和多个显示器的系统具有多个桌面,这个类提供用户桌面信息,如屏幕个数、每个屏幕的大小等
- QWindow:通过底层的窗口系统表示一个窗口的类,一般作为一个父容器的嵌入式窗体,不作为独立窗体
二、setAttribute()函数QMainWindow
- 菜单栏(Menu Bar)
- 工具栏(ToolBars)
- 浮动部件(Duck Widgets)
- 主窗口(Central Widget)
- 状态栏(Status Bar)
- 功能:用于定义窗体的一些属性,例如打开或者关闭属性等
函数原型:
三、setWindowFlags()、setWindowFlag()、windowFlags()函数
- 参数1:下图
- 参数2:代表开启/关闭参数1的属性。默认为true(代表开启属性),可以设置为false(关闭该属性)
setWindowFlags()、setWindowFlag()函数:
- 功能:用于设置/得到窗体标记
- 一种为一次设置多个属性、另一种为一次只能设置一个属性
- Qt::Widget、Qt::Window等表示窗体类型的常量可以使窗体具有缺省的外观设置。如果设置为Qt::Dialog类型,则窗体具有对话框的缺省外观,例如标题栏没有最小化、最大化按钮
- 控制窗体显示效果和外观的设置可定制窗体的外观,例如设置一个窗体只有最小化最大化按钮,没有关闭按钮
四、setWindowState()、windowState()函数windowFlags()函数:
- 功能:用于得到窗体标记值
- 返回值:Qt::WindowFlags类型
setWindowState()函数
- 功能:用于使窗口处于最小化、最大化等状态
五、setWindowModality()、windowModality()函数windowState()函数
- 功能:返回窗体的最小化、最大化等状态值
- 返回值:Qt::WindowsStates类型
setWindowModality()函数
- 功能:用于设置窗口的模态,只对窗口类有用
六、setWindowOpacity()、windowOpacity()函数windowModality()函数
- 功能:返回窗体的模态状态值
- 返回值:Qt::WindowsModality类型
setWindowOpacity()函数
- 功能:用于设置窗口的透明度
- 参数level在1.0(完全不透明)到0.0(完全透明)之间
- 窗口透明度的缺省值为1.0
windowOpacity()函数
- 功能:返回窗体的透明度值
- 返回值:qreal类型
七、演示案例演示案例
- 设置窗体透明度为0.5,可以看到窗体透明度降低
- 先得到原先的窗体透明度值,然后再设置,可以看到窗体无变化
- 一个多窗口应用程序的设计案例,见文章:javascript:void(0)