多文档界面(MDI)文本编辑器开发指南
1. 多文档界面(MDI)概述
多文档界面(MDI)相较于单文档界面(SDI)或运行多个应用程序实例具有诸多优势。MDI 应用程序资源占用较少,并且能让用户更轻松地对文档窗口进行布局。不过,其缺点是无法使用 Alt + Tab(在 Mac OS X 上是 Command + Tab)在 MDI 窗口之间切换,但在实际应用中,程序员通常会实现一个窗口菜单来解决窗口导航问题。
创建 MDI 应用程序的关键在于创建一个能自行处理所有事务(包括加载、保存和清理)的小部件子类。应用程序将这些小部件置于 MDI “工作区” 中,并将特定于小部件的操作传递给它们。
2. 开发 MDI 文本编辑器
我们将创建一个 MDI 文本编辑器,其功能与之前的 SDI 文本编辑器类似。每个文档通过自定义的 TextEdit 小部件实例进行展示和编辑,该小部件是 QTextEdit 的子类。
以下是主窗口类的初始化代码:
class MainWindow(QMainWindow):
def __init__(self, parent=None):
super(MainWindow, self).__init__(parent)
self.mdi = QWorkspace()
self.setCentralWidget(self.mdi)
在这段代码中,PyQt 的 MDI 小部件是 QWorkspace(从 Qt 4.3 开始,MDI 由 QMdiAre
超级会员免费看
订阅专栏 解锁全文
31

被折叠的 条评论
为什么被折叠?



