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-03
YOLOv5車牌識(shí)別實(shí)戰(zhàn)教程(四)模型優(yōu)化與部署
這篇文章主要介紹了YOLOv5車牌識(shí)別實(shí)戰(zhàn)教程(四)模型優(yōu)化與部署,在這個(gè)教程中,我們將一步步教你如何使用YOLOv5進(jìn)行車牌識(shí)別,幫助你快速掌握YOLOv5車牌識(shí)別技能,需要的朋友可以參考下2023-04-04
python神經(jīng)網(wǎng)絡(luò)MobileNet模型的復(fù)現(xiàn)詳解
這篇文章主要為大家介紹了python神經(jīng)網(wǎng)絡(luò)MobileNet模型的復(fù)現(xiàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-05-05
PyTorch手寫數(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-03
python讀取.mat文件及將變量存為.mat文件的詳細(xì)介紹
這篇文章主要給大家介紹了關(guān)于python讀取.mat文件及將變量存為.mat文件的詳細(xì)介紹,?mat文件是matlab的數(shù)據(jù)存儲(chǔ)的標(biāo)準(zhǔn)格式,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-06-06
Python實(shí)現(xiàn)端口復(fù)用實(shí)例代碼
這篇文章主要介紹了Python實(shí)現(xiàn)端口復(fù)用實(shí)例代碼,需要的朋友可以參考下2014-07-07

