python GUI庫圖形界面開發(fā)之PyQt5窗口類QMainWindow詳細(xì)使用方法
QMainWindow
QMainWindow類中比較重要的方法
方法 | 描述 |
---|---|
addToolBar() | 添加工具欄 |
centralWidge() | 返回窗口中心的一個(gè)控件,未設(shè)置時(shí)返回NULL |
menuBar() | 返回主窗口的菜單欄 |
setCentralWidget() | 設(shè)置窗口中心的控件 |
setStatusBar() | 設(shè)置狀態(tài)欄 |
statusBar() | 獲得狀態(tài)欄對(duì)象后,調(diào)用狀態(tài)欄對(duì)象的showMessage(message,int timeout=0)方法 |
顯示狀態(tài)欄信息,其中第一個(gè)參數(shù)是要顯示的狀態(tài)欄信息,第二個(gè)參數(shù)是信息停留的時(shí)間,單位是毫秒,默認(rèn)是0,表示一直顯示狀態(tài)欄信息 |
顯示狀態(tài)欄信息,其中第一個(gè)參數(shù)是要顯示的狀態(tài)欄信息,第二個(gè)參數(shù)是信息停留的時(shí)間,單位是毫秒,默認(rèn)是0,表示一直顯示狀態(tài)欄信息
注意:QMainWindow不能設(shè)置布局(使用setLayout()方法),因?yàn)樗凶约旱牟季?/p>
創(chuàng)建主窗口實(shí)例
#下面這行代碼是為了避免在所生成的pyqt中出現(xiàn)中文亂碼的問題 # -*- coding:UTF-8 -*- import sys from PyQt5.QtWidgets import QApplication,QMainWindow from PyQt5.QtGui import QIcon class MainWindow(QMainWindow): def __init__(self,parent=None): #初始化繼承的父類(Qmainwindow) super(MainWindow, self).__init__(parent) #設(shè)置窗口的大小 self.resize(400,200) #實(shí)例化創(chuàng)建狀態(tài)欄 self.status=self.statusBar() #將提示信息顯示在狀態(tài)欄中showMessage(‘提示信息',顯示時(shí)間(單位毫秒)) self.status.showMessage('這是狀態(tài)欄提示',4000) #創(chuàng)建窗口標(biāo)題 self.setWindowTitle('PyQt MainWindow例子') if __name__ == '__main__': # 每一個(gè)pyqt程序中都需要有一個(gè)QApplication對(duì)象,sys.argv是一個(gè)命令行參數(shù)列表 app=QApplication(sys.argv) #實(shí)例化窗口 form=MainWindow() #窗口顯示 form.show() #進(jìn)入程序的主循環(huán),遇到退出情況,終止程序 sys.exit(app.exec_())
效果圖如下:
主窗口居中顯示實(shí)例
from PyQt5.QtWidgets import QDesktopWidget,QApplication,QMainWindow import sys class WinForm(QMainWindow): def __init__(self,parent=None): super(WinForm, self).__init__(parent) self.setWindowTitle('主窗口居中的例子') #設(shè)置窗體的寬高 self.resize(370,250) #調(diào)用一個(gè)函數(shù) self.center() def center(self): #獲取屏幕的大小 screen=QDesktopWidget().screenGeometry() #獲取窗口的大小 size=self.geometry() #將窗口移動(dòng)到屏幕中央 self.move((screen.width() - size.width()) /2,(screen.height() - size.height()) /2) if __name__ == '__main__': app=QApplication(sys.argv) win=WinForm() win.show() sys.exit(app.exec_())
效果如下:
關(guān)閉主窗口實(shí)例
from PyQt5.QtWidgets import QMainWindow,QApplication,QHBoxLayout,QPushButton,QWidget import sys class WinForm(QMainWindow): def __init__(self,parent=None): super(WinForm, self).__init__(parent) self.setWindowTitle('關(guān)閉主窗口的例子') #創(chuàng)建按鈕實(shí)例,按鈕名稱:關(guān)閉主窗口 self.button1=QPushButton('關(guān)閉主窗口') #按鈕的clicked信號(hào)與onButtonClick槽函數(shù)關(guān)聯(lián)起來 self.button1.clicked.connect(self.onButtonClick) #水平布局 layout=QHBoxLayout() #按鈕加入水平布局中 layout.addWidget(self.button1) #創(chuàng)建widget窗口實(shí)例 main_frame=QWidget() #加載布局 main_frame.setLayout(layout) #把widget窗口加載到主窗口的中央位置 self.setCentralWidget(main_frame) def onButtonClick(self): #sender是發(fā)送信號(hào)的對(duì)象,這里獲得的是按鈕的名稱 sender=self.sender() #以文本的行書輸出按鈕的名稱 print(sender.text() + ' 被按下了') #獲取QApplication類的對(duì)象 qApp=QApplication.instance() #退出 qApp.quit() if __name__ == '__main__': app=QApplication(sys.argv) win=WinForm() win.show() sys.exit(app.exec_())
點(diǎn)擊按鈕,退出程序,控制臺(tái)輸出,關(guān)閉主窗口 被按下了
本文主要講解了python GUI庫圖形界面開發(fā)之PyQt5窗口類QMainWindow詳細(xì)使用方法,了解更多相關(guān)文章請(qǐng)查看下面的相關(guān)鏈接
相關(guān)文章
python實(shí)現(xiàn)飛機(jī)大戰(zhàn)項(xiàng)目
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)飛機(jī)大戰(zhàn)項(xiàng)目,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-03-03YOLOv5車牌識(shí)別實(shí)戰(zhàn)教程(四)模型優(yōu)化與部署
這篇文章主要介紹了YOLOv5車牌識(shí)別實(shí)戰(zhàn)教程(四)模型優(yōu)化與部署,在這個(gè)教程中,我們將一步步教你如何使用YOLOv5進(jìn)行車牌識(shí)別,幫助你快速掌握YOLOv5車牌識(shí)別技能,需要的朋友可以參考下2023-04-04python神經(jīng)網(wǎng)絡(luò)MobileNet模型的復(fù)現(xiàn)詳解
這篇文章主要為大家介紹了python神經(jīng)網(wǎng)絡(luò)MobileNet模型的復(fù)現(xiàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-05-05PyTorch手寫數(shù)字?jǐn)?shù)據(jù)集進(jìn)行多分類
這篇文章主要介紹了PyTorch手寫數(shù)字?jǐn)?shù)據(jù)集進(jìn)行多分類,損失函數(shù)采用交叉熵,激活函數(shù)采用ReLU,優(yōu)化器采用帶有動(dòng)量的mini-batchSGD算法,需要的朋友可以參考一下2022-03-03python讀取.mat文件及將變量存為.mat文件的詳細(xì)介紹
這篇文章主要給大家介紹了關(guān)于python讀取.mat文件及將變量存為.mat文件的詳細(xì)介紹,?mat文件是matlab的數(shù)據(jù)存儲(chǔ)的標(biāo)準(zhǔn)格式,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-06-06Python實(shí)現(xiàn)端口復(fù)用實(shí)例代碼
這篇文章主要介紹了Python實(shí)現(xiàn)端口復(fù)用實(shí)例代碼,需要的朋友可以參考下2014-07-07