多文档界面(MDI)文本编辑器开发指南
1. 引言
在开发应用程序时,对于窗口大小和位置的控制往往需要手动编写代码。而多文档界面(MDI)方法可以解决这些问题,并且相较于单文档界面(SDI)或运行多个应用程序实例,MDI 具有许多优势,如资源占用少,能让用户更方便地排列文档窗口等。不过,MDI 也存在一个小缺点,即不能使用 Alt+Tab(Mac OS X 系统下为 Command+Tab)在窗口间切换,但通常程序员会实现一个窗口菜单来解决这个问题。
2. MDI 应用程序开发关键
创建 MDI 应用程序的关键在于创建一个自定义的小部件子类,该子类能自行处理加载、保存和清理等操作。应用程序将这些小部件放置在 MDI“工作区”中,并将特定于小部件的操作传递给它们。
3. 文本编辑器示例
我们将创建一个 MDI 文本编辑器,其功能与之前的 SDI 文本编辑器类似。以下是该编辑器开发的详细内容:
3.1 自定义 TextEdit 小部件
每个文档通过自定义的 TextEdit 小部件实例进行展示和编辑,它是 QTextEdit 的子类。该小部件设置了 Qt.WA_DeleteOnClose 属性,拥有一个文件名实例变量,可加载和保存指定的文件。当小部件关闭时,其关闭事件处理程序会提示用户保存未保存的更改。其源代码位于 chap09/textedit.py 模块中。
3.2 主窗口类初始化
以下是主窗口子类 MainWindow 的初始化代码:
class MainWind
超级会员免费看
订阅专栏 解锁全文
1057

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



