zoukankan      html  css  js  c++  java
  • 多文档界面QMdiArea

    当使用多文档界面功能时,我们是将QMdiArea作为主窗口的中央部件,然后在这个中央部件中,我们可以同时打开很多个子窗口QMdiSubWindow

    样式:

     1 import sys
     2 from PyQt5.QtGui import QIcon
     3 from PyQt5.QtWidgets import QApplication, QMainWindow, QMdiArea, QMdiSubWindow, QAction, QTextEdit
     4 
     5 
     6 class Demo(QMainWindow):#继承QMainWindow
     7     def __init__(self):
     8         super(Demo, self).__init__()
     9         self.mdi_area = QMdiArea(self)  # 实例化一个多文档窗口
    10         self.setCentralWidget(self.mdi_area)  #把多文档窗口设置为主窗口的中央控件
    11 
    12         self.toolbar = self.addToolBar('Tool Bar')
    13 
    14         self.new_action = QAction('新建', self)
    15         self.close_action = QAction('关闭', self)
    16         self.close_all_action = QAction('全关闭', self)
    17         self.mode1_action = QAction('层叠', self)
    18         self.mode2_action = QAction('平铺', self)
    19 
    20         self.new_action.triggered.connect(self.new_func)
    21         self.close_action.triggered.connect(self.mdi_area.closeActiveSubWindow)
    22         #self.mdi_area.closeActiveSubWindow   关闭当前激活的窗口
    23 
    24         self.close_all_action.triggered.connect(self.mdi_area.closeAllSubWindows)
    25         #self.mdi_area.closeAllSubWindows    关闭所有子窗口
    26 
    27         self.mode1_action.triggered.connect(self.mdi_area.cascadeSubWindows)
    28         #self.mdi_area.cascadeSubWindows   层叠布局子窗口
    29 
    30         self.mode2_action.triggered.connect(self.mdi_area.tileSubWindows)
    31         #self.mdi_area.tileSubWindows   平铺布局子窗口
    32 
    33         self.toolbar.addAction(self.new_action)
    34         self.toolbar.addAction(self.close_action)
    35         self.toolbar.addAction(self.close_all_action)
    36         self.toolbar.addAction(self.mode1_action)
    37         self.toolbar.addAction(self.mode2_action)
    38 
    39     def new_func(self):
    40         text = QTextEdit()
    41         sub = QMdiSubWindow()  #实例化一个子窗口
    42         sub.setWidget(text)   #设置子窗口的控件
    43         self.mdi_area.addSubWindow(sub)  #在多文档窗口中添加子窗口
    44         sub.show()  #显示子窗口
    45 
    46 
    47 if __name__ == '__main__':
    48     app = QApplication(sys.argv)
    49     demo = Demo()
    50     demo.show()
    51     sys.exit(app.exec_())
  • 相关阅读:
    一些C++11语言新特性
    项目管理计划应该包括哪些内容
    真相令人震惊!为什么越有钱的人,欠的钱越多?
    80后小伙返乡创业种植中药材,带领乡亲们脱贫致富
    Tableau
    知识点汇总
    决策树分析、EMV(期望货币值)
    信息系统项目管理师60天冲刺复习计划,2019下半年高项冲刺计划
    【系统分析师之路】系统分析师备考计划
    有一种规律:“劣币驱逐良币”,“坏人淘汰好人”(深度)
  • 原文地址:https://www.cnblogs.com/liming19680104/p/10394804.html
Copyright © 2011-2022 走看看