



下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第基于PyQt5實(shí)現(xiàn)狀態(tài)欄(statusBar)顯示和隱藏功能首先,講述要解決的兩個(gè)問題以及解決問題的代碼:
1、將鼠標(biāo)放置于菜單欄上狀態(tài)欄永久消失的問題(這個(gè)問題需要仔細(xì)觀察才能注意到)
#此覆蓋父類函數(shù):覆蓋方法;為了克服將鼠標(biāo)放置于菜單欄上狀態(tài)欄就消失的問題;
defevent(self,QEvent):
ifQEvent.type()==QEvent.StatusTip:
ifQEvent.tip()=="":
QEvent=QStatusTipEvent("ready!")#此處為要始終顯示的內(nèi)容
returnsuper().event(QEvent)
2、控制狀態(tài)欄顯示和隱藏的問題
deftoggleMenu(self,state):#自定義事件函數(shù)
print(state)
#ifstate:
#self.statusBar().showMessage("ready!")
#else:
#self.statusBar().showMessage("")
#ifstate:#控制狀態(tài)欄是否顯示,
#self.statusbar().show()#此處是錯(cuò)誤示例
#else:
#self.statusbar().hide()
ifstate:#應(yīng)該使用statusBar()而不是statusbar
self.statusBar().show()
else:
self.statusBar().hide()
最近學(xué)習(xí)pyqt5教程,也是別人翻譯的,總的也是錯(cuò)誤多多,應(yīng)該直接看原版的,充分表明英語很重要啊
貼上全部代碼:
importsys
fromPyQt5.QtWidgetsimportQMainWindow,QApplication,QAction,qApp,QMenu
fromPyQt5.QtGuiimportQIcon,QStatusTipEvent
classmain_window(QMainWindow):
def__init__(self):
super().__init__()
self.initUI()
definitUI(self):
#可以設(shè)置動作的圖標(biāo),文字顯示;強(qiáng)大
exitAct=QAction(QIcon("/Users/zuozhe/PycharmProjects/Soft-Video/images/m4.png"),"退出",self)
exitAct.setShortcut("Ctrl+Q")#設(shè)置快捷鍵
exitAct.setToolTip("ExitApplication")#提示
exitAct.triggered.connect(qApp.exit)#綁定退出事件
status=self.statusBar()#創(chuàng)建狀態(tài)欄
status.showMessage("ready!")#顯示消息
#菜單欄
#文件菜單欄
menubar=self.menuBar()
menubar.setNativeMenuBar(False)#MACOS下需要設(shè)置此句話
fileMenu=menubar.addMenu("File")#主菜單File
impMenu=QMenu("Import",self)#創(chuàng)建菜單項(xiàng)
impAct=QAction("ImportEmail",self)#Import菜單下有子菜單ImportEmail
impMenu.addAction(impAct)
newAct=QAction("New",self)
#就差給Action(動作)綁定觸發(fā)事件了
fileMenu.addAction(newAct)#將兩個(gè)菜單項(xiàng)加入到File主菜單欄下
fileMenu.addMenu(impMenu)
fileMenu.addAction(exitAct)#綁定File下的菜單項(xiàng)
#編輯菜單欄
editMenu=menubar.addMenu("Edit")
#視圖菜單欄
viewMenu=menubar.addMenu("View")
#勾選菜單
viewstatAct=QAction("是否顯示狀態(tài)欄",self,checkable=True)
viewstatAct.setToolTip("Viewstatusbar")
viewstatAct.setChecked(True)
viewstatAct.triggered.connect(self.toggleMenu)#觸發(fā)鏈接事件;toggleMenu是自定義函數(shù)
viewMenu.addAction(viewstatAct)
#設(shè)置窗口的位置和大小
self.setGeometry(300,300,500,600)
self.setWindowTitle("主窗口的菜單欄和工具欄")
self.show()
#此覆蓋父類函數(shù):覆蓋方法;為了克服將鼠標(biāo)放置于菜單欄上狀態(tài)欄就消失的問題;
defevent(self,QEvent):
ifQEvent.type()==QEvent.StatusTip:
ifQEvent.tip()=="":
QEvent=QStatusTipEvent("ready!")#此處為要始終顯示的內(nèi)容
returnsuper().event(QEvent)
deftoggleMenu(self,state):#自定義事件函數(shù)
print(state)
#ifstate:
#self.statusBar().showMessage("ready!")
#else:
#self.statusBar().showMessage("")
#ifstate:#控制狀態(tài)欄是否顯示,
#self.statusbar().show()
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- T/SHPTA 042-2023塑料無鹵阻燃抗沖擊聚苯乙烯(PS-I)專用料
- 外出辦理業(yè)務(wù)安全協(xié)議書
- 個(gè)人轉(zhuǎn)讓租賃房屋協(xié)議書
- 承包林木采伐安全協(xié)議書
- 打架斗毆事故調(diào)解協(xié)議書
- 75歲老人同居協(xié)議書
- 農(nóng)業(yè)農(nóng)村保險(xiǎn)合作協(xié)議書
- 技術(shù)研發(fā)合同轉(zhuǎn)讓協(xié)議書
- 2025年保密協(xié)議書
- 某ktv合伙經(jīng)營協(xié)議書
- 期末復(fù)習(xí)題(試題)2024-2025學(xué)年六年級下冊數(shù)學(xué)人教版
- 醫(yī)院檢驗(yàn)科實(shí)驗(yàn)室生物安全程序文件SOP
- 閥門系數(shù)Cv和KV值計(jì)算表格(帶公式)
- 簧片落料彎曲級進(jìn)模設(shè)計(jì)畢業(yè)設(shè)計(jì)(論文)
- 完整版8D改善報(bào)告
- MSA測量系統(tǒng)分析軟件(第三版A級實(shí)例)
- 工業(yè)硅技術(shù)安全操作規(guī)程
- 消防工程項(xiàng)目樣板區(qū)、樣板間方案
- 導(dǎo)流明渠施工方案(共4頁)
- 小學(xué)美術(shù)三年級下冊第5課我們班級的標(biāo)志PPT課件
- 兒童社會工作案例及分析PPT學(xué)習(xí)教案
評論
0/150
提交評論