PyQt5: chapter7-多文件接口

QMdiArea类

  • subWindowList():此方法返回MDI区域中所有子窗口的列表。返回的列表按通过WindowOrder()函数设置的顺序排列
  • WindowOrder:这个静态变量设置子窗口列表的排序条件。以下是可以分配给此静态变量的有效值:
  • creation order:窗口按创建顺序返回。这是默认顺序
  • StackingOrder:按窗口的堆叠顺序返回窗口,最上面的窗口位于列表的最后
  • ActivationHistoryOrder:窗口按激活顺序返回
  • activateNextSubWindow():此方法将焦点设置为子窗口列表中的下一个窗口。当前窗口顺序决定下一个要激活的窗口。
  • activatePreviousSubWindow():此方法将焦点设置为子窗口列表中的上一个窗口。当前窗口顺序确定要激活的上一个窗口。
  • cascadeSubWindows():此方法以层叠方式排列子窗口。
  • tileSubWindows():此方法以平铺方式排列子窗口。
  • closeAllSubWindows():此方法关闭所有子窗口
  • setViewMode():此方法设置MDI区域的视图模式。子窗口可以在两种模式下查看:子窗口视图(SubWindow View)和选项卡视图(Tabbed View):
  • SubWindow View:此方法显示带有窗口框架的子窗口(默认)。如果以平铺方式排列,则可以看到多个子窗口的内容。它也由一个常量0表示。
  • Tabbed View:在选项卡栏中显示带有选项卡的子窗口。一次只能看到一个子窗口内容的内容。它也由一个常量1表示

实例

  1. 创建基于Main Window模板的应用窗口
  2. 拖入一个MDI Area部件
  3. 右键选择”添加子窗口“
  4. 再添加一个子窗口
  5. 在子窗口分别添加Label部件,设定其text为First subwwindow和Second subwindow
  6. 在主菜单添加Windows
  7. 在Windows下添加 SubWindow View,Tabbed View,Cascade View,Tile View
  8. 保存为demoMDI.ui
  9. 保存后使用pyuic生成demoMDI.py
  10. 创建callMDI.py,代码如下
import sys
from PyQt5.QtWidgets import QMainWindow,QApplication,QAction,QFileDialog
from cookbook_200502.demoMDI import *

class MyForm(QMainWindow):
    def __init__(self):
        super().__init__()
        self.ui=Ui_MainWindow()
        self.ui.setupUi(self)
        self.ui.mdiArea.addSubWindow(self.ui.subwindow)
        self.ui.mdiArea.addSubWindow(self.ui.subwindow_2)
        self.ui.actionSubWindow_View.triggered.connect(self.SubWindow_View)
        self.ui.actionTabbed_View.triggered.connect(self.Tabbed_View)
        self.ui.actionCascade_View.triggered.connect(self.cascadeArrange)
        self.ui.actionTile_View.triggered.connect(self.tileArrange)
        self.show()
    def SubWindow_View(self):
        self.ui.mdiArea.setViewMode(0)
    def Tabbed_View(self):
        self.ui.mdiArea.setViewMode(1)
    def cascadeArrange(self):
        self.ui.mdiArea.cascadeSubWindows()
    def tileArrange(self):
        self.ui.mdiArea.tileSubWindows()
if __name__=="__main__":
    app=QApplication(sys.argv)
    w=MyForm()
    w.show()
    sys.exit(app.exec())

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值