在某些应用中,会用到多窗体功能,这里就来讨论一下Qt下多窗体功能的实现。本例仍以qt4.8.7版本为例,并基于QtCreator4.6.2环境进行开发。在本例中,以一个能显示实时时钟的第二窗体为例进行讨论,其中拟采用菜单点击的方式来打开时钟子窗体,并加入了控件随窗体大小变化的方法,对话框窗体按钮的编程方法,关闭窗体时的确认通知方法以及更改应用程序图标的方法等等,具体过程如下。

1、新建一个窗体应用的工程,单击“文件”->“新建文件或项目”,在弹出的对话框中,默认选择项目“Application”中的“Qt Widgets Application”工程,如下图所示,然后单击“Choose...”按钮。

python qt 建立子窗口 qt如何创建子窗口_Qt

2、随后的操作全部以默认值进行,整个工程建好后如下图所示。

python qt 建立子窗口 qt如何创建子窗口_控件_02

3、在窗体的工具条上点击右键,选择“移除工具栏mainToolBar”,删除工具栏,如下图所示。

python qt 建立子窗口 qt如何创建子窗口_python qt 建立子窗口_03

4、在窗体上点击右键,选择“移除状态栏”,删除状态栏,如下图所示。 

python qt 建立子窗口 qt如何创建子窗口_Qt_04

5、在窗体的菜单栏上双击,在其中输入“操作”作为菜单名称,然后在其下面再双击并输入“时钟” ,如下图所示。

python qt 建立子窗口 qt如何创建子窗口_python qt 建立子窗口_05

6、双击下面的“添加分隔符”,在“时钟”一项下添加一条分隔线,然后以同样的方式再在线下新建一项“退出”,如下图所示。

python qt 建立子窗口 qt如何创建子窗口_控件_06

7、完成以上步骤后点击左边的绿色三角符号,先运行一下看看窗体的效果,如下图所示。

python qt 建立子窗口 qt如何创建子窗口_python qt 建立子窗口_07

8、接下来需要再建立一个时钟显示的窗体,单击“文件”->“新建文件或项目”,弹出一个对话框,在对话框左边的“文件和类”下面选择“Qt”一项,然后在中间选择“Qt设计师界面类”,如下图所示,单击“Choose...”按钮。

python qt 建立子窗口 qt如何创建子窗口_python qt 建立子窗口_08

9、在接下来的对话框中,就选择默认的带底部按钮的对话框形式,如下图所示,点击“下一步”。

python qt 建立子窗口 qt如何创建子窗口_python qt 建立子窗口_09

10、类名取为“timeDialog”,如下图所示,单击“下一步”按钮。

python qt 建立子窗口 qt如何创建子窗口_Qt_10

11、接下来询问是否把新建的窗体加入到项目中,这里默认加入,如下图所示,点击“完成”按钮。

python qt 建立子窗口 qt如何创建子窗口_python qt 建立子窗口_11

12、全部完成后,切换到编辑状态,可看到新加入了三个文件,一个是头文件timedialog.h,一个是源文件timedialog.cpp,一个是窗体文件timedialog.ui,如下图所示。

python qt 建立子窗口 qt如何创建子窗口_工具栏_12

13、在Forms下双击“timedialog.ui”,打开新建立的对话框窗体,并在其中放置一个显示时钟用的LCD Number控件,如下图所示。

python qt 建立子窗口 qt如何创建子窗口_控件_13

14、点击“文件”->“保存所有文件”,保存项目。至此,就完成了本例所有窗体的创建工作。 接下来就需要编写相应的程序代码了。