概述
本篇记录如何通过 QT Creator 开发一个简单的多窗口程序。
环境:Win10 + QT Creator4.4.1 + QT5.9.2。
实现内容:在主窗口中输入指定的口令,点击按钮载入另一个窗口,并给出了子窗口只允许同时载入一次的三种方法。
一、建立 QT 项目
打开 QT Creator,新建 Qt Widget Application 项目。
设置项目名称,一直下一步完成项目创建。
下图是初始的工程结构:
二、添加新的GUI文件
在项目目录中选中 Forms 右键,添加新文件。
在新建文件窗口中选择 Qt 类,Qt 设计师界面类,确定。
按照实际需要选择界面模板,此处选择的依旧是 Main Window,下一步。
默认的类目还是 MainWindow,为了避免与主窗口冲突,重新选择类名,一路下一步,完成。
新的 Qt 设计器界面类创建完成后的工程结构:
三、窗口载入的实现
打开主窗口的.ui文件,添加一个 lineEdit 和一个 pushButton 做一个简陋的界面意思一下,其中 lineEdit 设置了显示方式为 Password,并设置了默认文本:
运行起来的效果是这样的:
接下来我们要实现的是,当文本框中的内容为指定内容,如 Houkaifa 时,点击确认按钮载入窗口 ChildWindow。
首先,我们在主窗口的.h文件中添加对子窗口的头文件包含:
1 | #include <childwindow.h> |
并在主窗口类中定义一个子窗口类的私有成员:
1 | private: |
完整的代码看上去是这样的:
1 | #ifndef MAINWINDOW_H |
emmm,还是放图片看起来清楚些:
1 | ChildWindow *cw = new ChildWindow(this); |
1 | ... |
1 | void closeEvent(QCloseEvent* event); |
1 | void ChildWindow::closeEvent(QCloseEvent* event) |