【Pyqt5应用实例】Pyqt5实现添加多个子窗口布局之QMdiArea

简介: 【Pyqt5应用实例】Pyqt5实现添加多个子窗口布局之QMdiArea

功能结果显示

b3d2edea5e984b5fb23e94fc4fff1c9b.png

62319ebcb6ba4991818a78dba6e4b5c0.png

a49e35783c9040338c9ab4577933ae10.png


完整代码示例


# -*- coding: utf-8 -*-
import sys
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *
class MainWindow(QMainWindow):
  count=0
  def __init__(self, parent=None):
    super(MainWindow, self).__init__(parent)
    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)
    self.setWindowTitle("MDI 示例")
  def windowaction(self, q): 
    # 通过点击不同的按钮实现不同布局的显示方式
    if q.text()=="New":
      MainWindow.count=MainWindow.count+1
      sub=QMdiSubWindow()
      sub.setWidget(QTextEdit())
      sub.setWindowTitle("subwindow"+str(MainWindow.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)
  demo = MainWindow()
  demo.show()
  sys.exit(app.exec_())
相关文章
|
SQL 开发框架 Java
互联网医院在线问诊系统的设计与实现(论文+源码)_kaic
互联网医院在线问诊系统的设计与实现(论文+源码)_kaic
|
SQL JavaScript 关系型数据库
MySQL Shell 使用指南
MySQL Shell 是一个强大且灵活的工具,它扩展了 MySQL 客户端的功能,使得数据库管理和运维工作更加便捷高效。
1255 0
|
编解码 算法 计算机视觉
【MATLAB】 小波分解信号分解+FFT傅里叶频谱变换组合算法
【MATLAB】 小波分解信号分解+FFT傅里叶频谱变换组合算法
677 0
|
存储
QT图形视图框架绘制曲线图和Smith图
QT图形视图框架绘制曲线图和Smith图
422 0
|
4月前
|
Web App开发 安全 Linux
Linux 比起其他系统的5 个优点和 5 个缺点
对Linux系统感兴趣的朋友,可以点击下方书籍进行学习。
|
SQL 开发框架 Ubuntu
阿里云轻量应用服务器系统镜像和应用镜像区别及选择
阿里云轻量应用服务器可选应用镜像和系统镜像,应用镜像和系统镜像有什么如何?阿里云轻量应用服务器操作系统如何选择镜像?笔者分享阿里云轻量应用服务器应用镜像和系统镜像的区别及选择方法:
阿里云轻量应用服务器系统镜像和应用镜像区别及选择
|
数据可视化 IDE 开发者
【Python篇】PyQt5 超详细教程——由入门到精通(终篇)
【Python篇】PyQt5 超详细教程——由入门到精通(终篇)
3074 1
|
监控 C++ 容器
【qt】MDI多文档界面开发
【qt】MDI多文档界面开发
595 0
|
存储 Linux 编译器
Linux系统中指针的详细分析与操作
Linux系统中指针的详细分析与操作
299 1
stm32f407探索者开发板(十五)——NVIC中断优先级管理
stm32f407探索者开发板(十五)——NVIC中断优先级管理
1194 0