博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PyQt5之多文档界面
阅读量:3959 次
发布时间:2019-05-24

本文共 1567 字,大约阅读时间需要 5 分钟。

PyQt5之多文档界面

多文档界面应用程序占用较少的内存资源,子窗口都可以放在主窗口容器中,这个容器控件被称为QMdiArea。QMdiArea控件通常占据在QMainWindow对象的中央位置,可以设置任何QWidget作为子窗口对象的内部控件。

一、QMdiArea和QMdiSubWindow类中的常用方法

方法 描述
addSubWindow() 将一个小控件添加在MDI区域作为一个新的子窗口
removeSubWindow() 删除一个子窗口中的小控件
setActiveSubWindow() 激活一个子窗口
cascadeSubWindows() 安排子窗口在MDI区域级联显示
tileSubWindows() 安排子窗口在MDI区域平铺显示
closeActiveSubWindow() 关闭活动的子窗口
subWindowList() 返回MDI区域的子窗口列表
setWidget() 设置一个小控件作为QMdiSubWindow实例对象的内部控件

二、多重文档界面

import sysfrom PyQt5 import QtCorefrom PyQt5.QtWidgets import *from PyQt5.QtGui import *from PyQt5.QtCore import *class Demo(QMainWindow):    count = 0    def __init__(self):        super().__init__()        self.setGeometry(100, 50, 500, 400)        self.setWindowTitle('多文档界面')        self.mdi = QMdiArea()        self.setCentralWidget(self.mdi)        bar = self.menuBar()        file = bar.addMenu('File')        file.addAction("New")        file.addAction("cascade")#级联显示        file.addAction("Tiled")#平铺显示        file.triggered[QAction].connect(self.windowaction)    def windowaction(self,q):        if q.text() == 'New':            Demo.count = Demo.count+1            sub = QMdiSubWindow()            sub.setWidget(QTextEdit())            sub.setWindowTitle('subwindow' + str(Demo.count))            self.mdi.addSubWindow(sub)            sub.show()        if q.text() == 'cascade':            self.mdi.cascadeSubWindows()        if q.text() == 'Tiled':            self.mdi.tileSubWindows()if __name__ == "__main__":    app = QApplication(sys.argv)    form = Demo()    form.show()    sys.exit(app.exec_())

运行效果如下:

在这里插入图片描述

在这里插入图片描述

转载地址:http://itozi.baihongyu.com/

你可能感兴趣的文章
uTP协议的前世今生(from wikipedia)
查看>>
uTP协议的前世今生(from wikipedia)
查看>>
utp的包头格式<2>
查看>>
开源搜索引擎的比较(收藏几个博客文章)最近要做搜索系统的研究方向
查看>>
asii码表
查看>>
<读书笔记>WebUsage Mining:Discovery and Applications of Usage Patterns from Web Data
查看>>
并查集(Disjoint Sets)
查看>>
在Linux下安装MATLAB
查看>>
readme
查看>>
微服务概念
查看>>
数据库分库分表
查看>>
hibernate inverse 和cascade讲解
查看>>
建模工具Rose的学习
查看>>
javascript ajax提出异步请求
查看>>
Hibernate 中的 QBC
查看>>
解快局域网共享问题
查看>>
xp常用命令
查看>>
java 加密解密
查看>>
xp 忘记密码
查看>>
xp 忘记密码
查看>>