python GUI庫(kù)圖形界面開發(fā)之PyQt5窗口類QMainWindow詳細(xì)使用方法
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)中文亂碼的問(wèn)題# -*- coding:UTF-8 -*-import sysfrom PyQt5.QtWidgets import QApplication,QMainWindowfrom PyQt5.QtGui import QIconclass 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_())
效果圖如下:
from PyQt5.QtWidgets import QDesktopWidget,QApplication,QMainWindowimport sysclass 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,QWidgetimport sysclass 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)起來(lái) 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庫(kù)圖形界面開發(fā)之PyQt5窗口類QMainWindow詳細(xì)使用方法,了解更多相關(guān)文章請(qǐng)查看下面的相關(guān)鏈接
相關(guān)文章:
1. android 控件同時(shí)監(jiān)聽(tīng)單擊和雙擊實(shí)例2. 解決vue頁(yè)面刷新,數(shù)據(jù)丟失的問(wèn)題3. Python 忽略文件名編碼的方法4. vue路由分文件拆分管理詳解5. 詳解android adb常見(jiàn)用法6. vue+vuex+axios從后臺(tái)獲取數(shù)據(jù)存入vuex,組件之間共享數(shù)據(jù)操作7. python logging.info在終端沒(méi)輸出的解決8. android studio實(shí)現(xiàn)簡(jiǎn)單的計(jì)算器(無(wú)bug)9. python Selenium 庫(kù)的使用技巧10. python 讀txt文件,按‘,’分割每行數(shù)據(jù)操作
