电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

python GUI庫圖形界面開發之PyQt5 MDI(多文檔窗口)QMidArea詳細使用方法與實例

瀏覽:9日期:2022-08-04 09:10:32
PyQt5 MDI(多文檔窗口)QMidArea簡介

一種同時顯示多個窗口的方法是,創建多個獨立的窗口,這些獨立的窗口被稱為SDI(Single Document Interface 單文檔界面),每個窗口都有自己的菜單系統,工具欄等,這需要占用很多資源

MDI(Multiple Document Interface 多文檔界面)應用程序占用較少的內存資源,子窗口可以放在主窗口的容器中,這個容器控件被稱為QMidArea

QMidArea控件通常占據在QMainWindow對象的中央位置,子窗口在這個區域是QMdiSubWindow類的實例,可以設置任何QWidget作為子窗口對象的內部控件,子窗口在MDI區域進行級聯排列布局

QMidArea類和QMdiSubWindow類中的常用方法

方法 描述 addSubWindow() 將一個小控件添加在MDI區域作為一個新的子窗口 removeSubWindow() 刪除一個子窗口的小控件 setActiveSubWindow() 激活一個子窗口 cascadeSubWindows() 安排子窗口在MDI區域級聯顯示 tileSubWindows() 安裝子窗口在MDI區域平鋪顯示 closeActiveSubWindow() 關閉活動的子窗口 subWindowList() 返回MDI區域的子窗口列表 setWidget() 設置一個小控件作為QMdiSubWindow實例對象的內部控件 QMdiArea多重文檔界面代碼實例

import sysfrom PyQt5.QtWidgets import *from PyQt5.QtCore import *from PyQt5.QtGui import *class MainWindow(QMainWindow): count=0 def __init__(self,parent=None): super(MainWindow, self).__init__(parent) #實例化Qmidarea區域 self.mdi=QMdiArea() #設置為中間控件 self.setCentralWidget(self.mdi) #實例化菜單欄 bar=self.menuBar() #添加主菜單 file=bar.addMenu(’File’) #添加子菜單 file.addAction(’New’) file.addAction(’cascade’) file.addAction(’Tiled’) #點擊QAction綁定自定義的槽函數(傳遞有值【QAction】) file.triggered[QAction].connect(self.windowaction) #設置主窗口的標題 self.setWindowTitle('MDI demo') def windowaction(self,q): print(’Triggered’) if q.text()==’New’: #子窗口增加一個 MainWindow.count=MainWindow.count+1 #實例化多文檔界面對象 sub=QMdiSubWindow() #向sub內添加內部控件 sub.setWidget(QTextEdit()) #設置新建子窗口的標題 sub.setWindowTitle(’subWindow’+str(MainWindow.count)) #將子窗口添加到Mdi區域 self.mdi.addSubWindow(sub) #子窗口顯示 sub.show() if q.text()==’cascade’: #cascadeSubWindows():安排子窗口在Mdi區域級聯顯示 self.mdi.cascadeSubWindows() if q.text()==’Tiled’: #tileSubWindow():安排子窗口在Mdi區域平鋪顯示 self.mdi.tileSubWindow()if __name__ == ’__main__’: app=QApplication(sys.argv) demo=MainWindow() demo.show() sys.exit(app.exec_())

級聯顯示

python GUI庫圖形界面開發之PyQt5 MDI(多文檔窗口)QMidArea詳細使用方法與實例

平鋪顯示

python GUI庫圖形界面開發之PyQt5 MDI(多文檔窗口)QMidArea詳細使用方法與實例

代碼分析

在這個例子中,主窗口QMainWindow擁有一個菜單控件和 MidArea控件

#實例化菜單欄 bar=self.menuBar() #添加主菜單 file=bar.addMenu(’File’) #添加子菜單 file.addAction(’New’) file.addAction(’cascade’) file.addAction(’Tiled’)

當單擊菜單控件時觸發triggered信號,連接到槽函數windowaction()

file.triggered[QAction].connect(self.windowaction)

當選擇菜單NEw動作時,會添加一個新的Mdi,每個Mdi都有標題,在主窗口內部增加Mdi的數量

#子窗口增加一個 MainWindow.count=MainWindow.count+1 #實例化多文檔界面對象 sub=QMdiSubWindow() #向sub內添加內部控件 sub.setWidget(QTextEdit()) #設置新建子窗口的標題 sub.setWindowTitle(’subWindow’+str(MainWindow.count)) #將子窗口添加到Mdi區域 self.mdi.addSubWindow(sub) #子窗口顯示 sub.show()

當選擇菜單中的Cascade和tiled動作時,會在主窗口顯示自窗口的排序方式,級聯顯示或者平鋪顯示

if q.text()==’cascade’: #cascadeSubWindows():安排子窗口在Mdi區域級聯顯示 self.mdi.cascadeSubWindows() if q.text()==’Tiled’: #tileSubWindow():安排子窗口在Mdi區域平鋪顯示 self.mdi.tileSubWindow()

本文主要講解了PyQt5 MDI(多文檔窗口)QMidArea詳細使用方法與實例,更多關于PyQt5控件的使用知識請查看下面的相關鏈接

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 原子吸收设备-国产分光光度计-光谱分光光度计-上海光谱仪器有限公司 | 招商帮-一站式网络营销服务|搜索营销推广|信息流推广|短视视频营销推广|互联网整合营销|网络推广代运营|招商帮企业招商好帮手 | 浴室柜-浴室镜厂家-YINAISI · 意大利设计师品牌 | 咿耐斯 |-浙江台州市丰源卫浴有限公司 | 长春网站建设,五合一网站设计制作,免费优化推广-长春网站建设 | 粉末冶金-粉末冶金齿轮-粉末冶金零件厂家-东莞市正朗精密金属零件有限公司 | 两头忙,井下装载机,伸缩臂装载机,30装载机/铲车,50装载机/铲车厂家_价格-莱州巨浪机械有限公司 | 十二星座查询(性格特点分析、星座运势解读) - 玄米星座网 | 写方案网_方案策划方案模板下载 事迹材料_个人事迹名人励志故事 | 挖掘机挖斗和铲斗生产厂家选择徐州崛起机械制造有限公司 | 真空泵维修保养,普发,阿尔卡特,荏原,卡西亚玛,莱宝,爱德华干式螺杆真空泵维修-东莞比其尔真空机电设备有限公司 | 作文导航网_作文之家_满分作文_优秀作文_作文大全_作文素材_最新作文分享发布平台 | 连续油炸机,全自动油炸机,花生米油炸机-烟台茂源食品机械制造有限公司 | 青岛成人高考_山东成考报名网| 涡轮流量计_LWGY智能气体液体电池供电计量表-金湖凯铭仪表有限公司 | KBX-220倾斜开关|KBW-220P/L跑偏开关|拉绳开关|DHJY-I隔爆打滑开关|溜槽堵塞开关|欠速开关|声光报警器-山东卓信有限公司 | 比亚迪叉车-比亚迪电动叉车堆垛车托盘车仓储叉车价格多少钱报价 磁力去毛刺机_去毛刺磁力抛光机_磁力光饰机_磁力滚抛机_精密金属零件去毛刺机厂家-冠古科技 | 运动木地板厂家,篮球场木地板品牌,体育场馆木地板安装 - 欧氏运动地板 | 层流手术室净化装修-检验科ICU改造施工-华锐净化工程-特殊科室建设厂家 | 卓能JOINTLEAN端子连接器厂家-专业提供PCB接线端子|轨道式端子|重载连接器|欧式连接器等电气连接产品和服务 | 气力输送_输送机械_自动化配料系统_负压吸送_制造主力军江苏高达智能装备有限公司! | 合肥弱电工程_安徽安防工程_智能化工程公司-合肥雷润 | 无机纤维喷涂棉-喷涂棉施工工程-山东华泉建筑工程有限公司▲ | 耐酸碱泵-自吸耐酸碱泵型号「品牌厂家」立式耐酸碱泵价格-昆山国宝过滤机有限公司首页 | 钢板仓,大型钢板仓,钢板库,大型钢板库,粉煤灰钢板仓,螺旋钢板仓,螺旋卷板仓,骨料钢板仓 | 产业规划_产业园区规划-产业投资选址及规划招商托管一体化服务商-中机院产业园区规划网 | 新能源汽车教学设备厂家报价[汽车教学设备运营18年]-恒信教具 | 气象监测系统_气象传感器_微型气象仪_气象环境监测仪-山东风途物联网 | 工业rfid读写器_RFID工业读写器_工业rfid设备厂商-ANDEAWELL | 工业机械三维动画制作 环保设备原理三维演示动画 自动化装配产线三维动画制作公司-南京燃动数字 聚合氯化铝_喷雾聚氯化铝_聚合氯化铝铁厂家_郑州亿升化工有限公司 | 钢衬四氟管道_钢衬四氟直管_聚四氟乙烯衬里管件_聚四氟乙烯衬里管道-沧州汇霖管道科技有限公司 | MES系统-WMS系统-MES定制开发-制造执行MES解决方案-罗浮云计算 | 高精度电阻回路测试仪-回路直流电阻测试仪-武汉特高压电力科技有限公司 | 广东教师资格网-广东教师资格证考试网 | 电气控制系统集成商-PLC控制柜变频控制柜-非标自动化定制-电气控制柜成套-NIDEC CT变频器-威肯自动化控制 | 急救箱-应急箱-急救包厂家-北京红立方医疗设备有限公司 | 筒瓦厂家-仿古瓦-寺庙-古建琉璃瓦-宜兴市古典园林建筑陶瓷厂有限公司 | 胶水,胶粘剂,AB胶,环氧胶,UV胶水,高温胶,快干胶,密封胶,结构胶,电子胶,厌氧胶,高温胶水,电子胶水-东莞聚力-聚厉胶粘 | 高柔性拖链电缆_卷筒电缆_耐磨耐折聚氨酯电缆-玖泰特种电缆 | 耐驰泵阀管件制造-耐驰泵阀科技(天津)有限公司 | 玉米加工设备,玉米深加工机械,玉米糁加工设备.玉米脱皮制糁机 华豫万通粮机 | 贴板式电磁阀-不锈钢-气动上展式放料阀-上海弗雷西阀门有限公司 工业机械三维动画制作 环保设备原理三维演示动画 自动化装配产线三维动画制作公司-南京燃动数字 |