python GUI庫圖形界面開發(fā)之PyQt5窗口類QMainWindow詳細使用方法
QMainWindow
QMainWindow類中比較重要的方法
| 方法 | 描述 |
|---|---|
| addToolBar() | 添加工具欄 |
| centralWidge() | 返回窗口中心的一個控件,未設置時返回NULL |
| menuBar() | 返回主窗口的菜單欄 |
| setCentralWidget() | 設置窗口中心的控件 |
| setStatusBar() | 設置狀態(tài)欄 |
| statusBar() | 獲得狀態(tài)欄對象后,調(diào)用狀態(tài)欄對象的showMessage(message,int timeout=0)方法 |
| 顯示狀態(tài)欄信息,其中第一個參數(shù)是要顯示的狀態(tài)欄信息,第二個參數(shù)是信息停留的時間,單位是毫秒,默認是0,表示一直顯示狀態(tài)欄信息 |
顯示狀態(tài)欄信息,其中第一個參數(shù)是要顯示的狀態(tài)欄信息,第二個參數(shù)是信息停留的時間,單位是毫秒,默認是0,表示一直顯示狀態(tài)欄信息
注意:QMainWindow不能設置布局(使用setLayout()方法),因為它有自己的布局
創(chuàng)建主窗口實例
#下面這行代碼是為了避免在所生成的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)
#設置窗口的大小
self.resize(400,200)
#實例化創(chuàng)建狀態(tài)欄
self.status=self.statusBar()
#將提示信息顯示在狀態(tài)欄中showMessage(‘提示信息',顯示時間(單位毫秒))
self.status.showMessage('這是狀態(tài)欄提示',4000)
#創(chuàng)建窗口標題
self.setWindowTitle('PyQt MainWindow例子')
if __name__ == '__main__':
# 每一個pyqt程序中都需要有一個QApplication對象,sys.argv是一個命令行參數(shù)列表
app=QApplication(sys.argv)
#實例化窗口
form=MainWindow()
#窗口顯示
form.show()
#進入程序的主循環(huán),遇到退出情況,終止程序
sys.exit(app.exec_())
效果圖如下:

主窗口居中顯示實例
from PyQt5.QtWidgets import QDesktopWidget,QApplication,QMainWindow
import sys
class WinForm(QMainWindow):
def __init__(self,parent=None):
super(WinForm, self).__init__(parent)
self.setWindowTitle('主窗口居中的例子')
#設置窗體的寬高
self.resize(370,250)
#調(diào)用一個函數(shù)
self.center()
def center(self):
#獲取屏幕的大小
screen=QDesktopWidget().screenGeometry()
#獲取窗口的大小
size=self.geometry()
#將窗口移動到屏幕中央
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_())
效果如下:

關閉主窗口實例
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('關閉主窗口的例子')
#創(chuàng)建按鈕實例,按鈕名稱:關閉主窗口
self.button1=QPushButton('關閉主窗口')
#按鈕的clicked信號與onButtonClick槽函數(shù)關聯(lián)起來
self.button1.clicked.connect(self.onButtonClick)
#水平布局
layout=QHBoxLayout()
#按鈕加入水平布局中
layout.addWidget(self.button1)
#創(chuàng)建widget窗口實例
main_frame=QWidget()
#加載布局
main_frame.setLayout(layout)
#把widget窗口加載到主窗口的中央位置
self.setCentralWidget(main_frame)
def onButtonClick(self):
#sender是發(fā)送信號的對象,這里獲得的是按鈕的名稱
sender=self.sender()
#以文本的行書輸出按鈕的名稱
print(sender.text() + ' 被按下了')
#獲取QApplication類的對象
qApp=QApplication.instance()
#退出
qApp.quit()
if __name__ == '__main__':
app=QApplication(sys.argv)
win=WinForm()
win.show()
sys.exit(app.exec_())
點擊按鈕,退出程序,控制臺輸出,關閉主窗口 被按下了

本文主要講解了python GUI庫圖形界面開發(fā)之PyQt5窗口類QMainWindow詳細使用方法,了解更多相關文章請查看下面的相關鏈接
相關文章
YOLOv5車牌識別實戰(zhàn)教程(四)模型優(yōu)化與部署
這篇文章主要介紹了YOLOv5車牌識別實戰(zhàn)教程(四)模型優(yōu)化與部署,在這個教程中,我們將一步步教你如何使用YOLOv5進行車牌識別,幫助你快速掌握YOLOv5車牌識別技能,需要的朋友可以參考下2023-04-04
python神經(jīng)網(wǎng)絡MobileNet模型的復現(xiàn)詳解
這篇文章主要為大家介紹了python神經(jīng)網(wǎng)絡MobileNet模型的復現(xiàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-05-05
PyTorch手寫數(shù)字數(shù)據(jù)集進行多分類
這篇文章主要介紹了PyTorch手寫數(shù)字數(shù)據(jù)集進行多分類,損失函數(shù)采用交叉熵,激活函數(shù)采用ReLU,優(yōu)化器采用帶有動量的mini-batchSGD算法,需要的朋友可以參考一下2022-03-03
python讀取.mat文件及將變量存為.mat文件的詳細介紹
這篇文章主要給大家介紹了關于python讀取.mat文件及將變量存為.mat文件的詳細介紹,?mat文件是matlab的數(shù)據(jù)存儲的標準格式,文中通過代碼介紹的非常詳細,需要的朋友可以參考下2024-06-06

