日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術(shù)文章
文章詳情頁

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

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

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

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

QMidArea控件通常占據(jù)在QMainWindow對(duì)象的中央位置,子窗口在這個(gè)區(qū)域是QMdiSubWindow類的實(shí)例,可以設(shè)置任何QWidget作為子窗口對(duì)象的內(nèi)部控件,子窗口在MDI區(qū)域進(jìn)行級(jí)聯(lián)排列布局

QMidArea類和QMdiSubWindow類中的常用方法

方法 描述 addSubWindow() 將一個(gè)小控件添加在MDI區(qū)域作為一個(gè)新的子窗口 removeSubWindow() 刪除一個(gè)子窗口的小控件 setActiveSubWindow() 激活一個(gè)子窗口 cascadeSubWindows() 安排子窗口在MDI區(qū)域級(jí)聯(lián)顯示 tileSubWindows() 安裝子窗口在MDI區(qū)域平鋪顯示 closeActiveSubWindow() 關(guān)閉活動(dòng)的子窗口 subWindowList() 返回MDI區(qū)域的子窗口列表 setWidget() 設(shè)置一個(gè)小控件作為QMdiSubWindow實(shí)例對(duì)象的內(nèi)部控件 QMdiArea多重文檔界面代碼實(shí)例

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) #實(shí)例化Qmidarea區(qū)域 self.mdi=QMdiArea() #設(shè)置為中間控件 self.setCentralWidget(self.mdi) #實(shí)例化菜單欄 bar=self.menuBar() #添加主菜單 file=bar.addMenu(’File’) #添加子菜單 file.addAction(’New’) file.addAction(’cascade’) file.addAction(’Tiled’) #點(diǎn)擊QAction綁定自定義的槽函數(shù)(傳遞有值【QAction】) file.triggered[QAction].connect(self.windowaction) #設(shè)置主窗口的標(biāo)題 self.setWindowTitle('MDI demo') def windowaction(self,q): print(’Triggered’) if q.text()==’New’: #子窗口增加一個(gè) MainWindow.count=MainWindow.count+1 #實(shí)例化多文檔界面對(duì)象 sub=QMdiSubWindow() #向sub內(nèi)添加內(nèi)部控件 sub.setWidget(QTextEdit()) #設(shè)置新建子窗口的標(biāo)題 sub.setWindowTitle(’subWindow’+str(MainWindow.count)) #將子窗口添加到Mdi區(qū)域 self.mdi.addSubWindow(sub) #子窗口顯示 sub.show() if q.text()==’cascade’: #cascadeSubWindows():安排子窗口在Mdi區(qū)域級(jí)聯(lián)顯示 self.mdi.cascadeSubWindows() if q.text()==’Tiled’: #tileSubWindow():安排子窗口在Mdi區(qū)域平鋪顯示 self.mdi.tileSubWindow()if __name__ == ’__main__’: app=QApplication(sys.argv) demo=MainWindow() demo.show() sys.exit(app.exec_())

級(jí)聯(lián)顯示

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

平鋪顯示

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

代碼分析

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

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

當(dāng)單擊菜單控件時(shí)觸發(fā)triggered信號(hào),連接到槽函數(shù)windowaction()

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

當(dāng)選擇菜單NEw動(dòng)作時(shí),會(huì)添加一個(gè)新的Mdi,每個(gè)Mdi都有標(biāo)題,在主窗口內(nèi)部增加Mdi的數(shù)量

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

當(dāng)選擇菜單中的Cascade和tiled動(dòng)作時(shí),會(huì)在主窗口顯示自窗口的排序方式,級(jí)聯(lián)顯示或者平鋪顯示

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

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

標(biāo)簽: Python 編程
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
国产精品伦一区二区| 午夜欧美在线| 日韩中文字幕麻豆| 日韩二区在线观看| 国产va免费精品观看精品视频| 成人三级高清视频在线看| 桃色av一区二区| 国产精品99精品一区二区三区∴| 精品国产亚洲日本| 欧美va天堂在线| 欧美日本久久| 欧美日韩视频网站| 亚洲ww精品| 日韩专区精品| 不卡在线一区二区| 亚洲男人在线| 国产精品原创| 好看不卡的中文字幕| 国产精品乱战久久久| 99视频精品视频高清免费| 日本少妇一区二区| 999久久久精品国产| 国产精品色在线网站| 日韩欧美久久| www.九色在线| 欧美日本久久| 日韩视频久久| 黄色在线网站噜噜噜| 日韩三级视频| 日韩毛片在线| 免费一区二区三区在线视频| 蜜乳av另类精品一区二区| 欧美成人精品一级| 日韩不卡在线观看日韩不卡视频| 日韩欧美不卡| 久久亚洲国产精品尤物| 久久激情五月激情| 日韩欧美中文在线观看| 在线国产日韩| 亚洲精品裸体| 成人精品久久| 青青草91视频| 西西人体一区二区| 久久精品中文| 欧美日一区二区三区在线观看国产免 | 日韩精品乱码av一区二区| 欧美 日韩 国产精品免费观看| 精品精品久久| 麻豆精品av| 国产精品久久777777毛茸茸| 亚洲精品看片| 日本精品另类| 久久国产婷婷国产香蕉| 日韩影院免费视频| 亚洲日本在线观看视频| 黄页网站一区| 欧美日韩色图| 91精品观看| 免费日韩精品中文字幕视频在线| 亚洲激情国产| 亚洲三级国产| 国产欧美精品| 给我免费播放日韩视频| 视频福利一区| 丝袜美腿一区| 欧美一区自拍| 性色av一区二区怡红| 亚洲一级影院| 91九色综合| 欧美午夜精彩| 久久av超碰| 亚洲免费专区| 激情婷婷综合| 国际精品欧美精品| 免费一级片91| 久久久影院免费| 日韩精品导航| 99视频精品全部免费在线视频| 日韩激情av在线| 亚洲综合在线电影| 国产一精品一av一免费爽爽| 日韩精品一二区| 国产精品xvideos88| 少妇精品久久久| 久久一区精品| 日本在线精品| 国产调教一区二区三区| 天堂а√在线最新版中文在线| 亚洲精品中文字幕乱码| 国产精品色婷婷在线观看| 91精品一区国产高清在线gif| 欧美亚洲三级| 亚洲欧美日本视频在线观看| 国产精品国产一区| 青青在线精品| 免费一级片91| 午夜久久美女| 色88888久久久久久影院| 伊人久久一区| 亚洲欧洲一区| 蜜桃一区二区三区| 国产不卡人人| 国产成人久久| 九九久久国产| 国产精品一区二区中文字幕| 免费在线视频一区| 国产综合色产| 美女网站视频一区| 麻豆视频在线看| av资源新版天堂在线| 另类综合日韩欧美亚洲| 欧美一级全黄| 日本在线成人| 丝袜诱惑制服诱惑色一区在线观看 | 国产精品一区亚洲| 欧美偷窥清纯综合图区| 免费看精品久久片| 中文一区一区三区免费在线观| 欧美日中文字幕| 免费av一区| 国产视频一区三区| 欧美午夜不卡| 久久裸体视频| 婷婷中文字幕一区| 视频一区免费在线观看| 在线精品福利| 国产精品白丝一区二区三区| 成人一区不卡| 午夜久久久久| 欧美日本三区| 欧美国产美女| 亚洲91精品| 国产一区成人| 欧美激情aⅴ一区二区三区| 精品国产亚洲一区二区三区| 久久久久美女| 五月亚洲婷婷 | 日本高清久久| 久久三级毛片| 亚洲精品va| 亚洲精品福利电影| 久久蜜桃精品| 欧美一区91| 人在线成免费视频| 亚洲激情av| 麻豆成人91精品二区三区| 九九久久电影| 国产麻豆一区| 六月丁香综合| 精品中国亚洲| 免费黄网站欧美| 麻豆极品一区二区三区| 午夜国产欧美理论在线播放| 久久精品97| 亚洲一区二区三区免费在线观看| 久久精品女人| 日本不卡不码高清免费观看| 久久久久久美女精品| 欧美日韩亚洲一区二区三区在线| 久久精品不卡| 精品一区91| 日本午夜精品久久久久| 亚洲欧美日韩精品一区二区| 99久久久久国产精品| 亚洲三级欧美| 国产精品久久观看| 欧美黑人做爰爽爽爽| 欧美日韩亚洲三区| 日本少妇一区二区| 综合欧美精品| 老鸭窝亚洲一区二区三区| 99成人超碰| 欧美影院三区| 激情视频网站在线播放色| 国产精品高清一区二区| 日韩av一区二区在线影视| 美国av一区二区| 久久午夜精品| 蜜桃av一区二区| 婷婷综合成人| 日韩在线观看中文字幕| 日本少妇一区二区| 久久国产尿小便嘘嘘| 日韩精品免费一区二区夜夜嗨| 日韩中文字幕av电影| 久久av在线| 欧美日一区二区三区在线观看国产免 | 五月亚洲婷婷 | 日韩精品中文字幕一区二区| 视频一区二区不卡| 99热精品在线| 日韩精品视频网| 精品欠久久久中文字幕加勒比| 日本不良网站在线观看| 欧美亚洲精品在线| 欧美一级精品| 亚洲欧洲一区| 欧美1区2区3| 亚洲成人一区在线观看| 亚洲影院天堂中文av色|