第6章 对话框与多窗口设计
本章介绍多窗口的设计和调用问题,包括PyQt5标准对话框的使用,自定义对话框的设计和使用,如何在主窗口和对话框之间传递数据,如何设计类似于多页浏览器的多窗口程序,如何设计标准MDI(Multiple Document Interface)应用程序等问题。
6.1 标准对话框
PyQt5为应用程序设计提供了一些常用的标准对话框,如打开文件对话框、选择颜色对话框、信息提示和确认选择对话框、标准输入对话框等,用户无需自己设计这些常用的对话框,可以减少程序设计工作量。
6.2 自定义对话框及其使用
自定义对话框一般从QDialog继承,并且可以采用UI Designer可视化地设计对话框。对话框的调用一般包括创建对话框、传递数据给对话框、显示对话框获取输入、判断对话框单击按钮的返回类型、获取对话框输入数据等过程。
本节通过实例Demo6_2详细介绍设计和使用自定义对话框的方法。
图6-7 设置表格行数和列数的对话框
图6-9 浮动于主窗口上方的对话框,可交互操作
6.3 多窗口应用程序
本节以实例Demo6_3演示多窗口应用程序的设计。实例由项目模板mainWindowApp创建,主窗口UI文件是MainWindow.ui。又设计了两个窗口,一个是从QWidget继承的文本文件显示窗口,一个是从QMainWindow继承的表格数据编辑窗口,表格编辑窗口又可使用两个对话框进行表格的大小和表头设置。
图6-16 嵌入式和独立的QmyFormTable窗体显示效果
6.4 MDI 应用程序设计
MDI应用程序由一个主窗口和任意多个MDI子窗口组成,子窗口一般是同一个类的实例,这些MDI子窗口在主窗口里显示,并一般共享主窗口上的工具栏和菜单等操作功能,主窗口上的操作都针对当前活动的MDI子窗口。
图6-17 MDI应用程序示例Demo6_4运行时界面
图6-19 多页模式下的MDI界面
<上一章> <回主页>