python GUI庫圖形界面開發之PyQt5窗口類QMainWindow詳細使用方法
QMainWindow類中比較重要的方法
方法 描述 addToolBar() 添加工具欄 centralWidge() 返回窗口中心的一個控件,未設置時返回NULL menuBar() 返回主窗口的菜單欄 setCentralWidget() 設置窗口中心的控件 setStatusBar() 設置狀態欄 statusBar() 獲得狀態欄對象后,調用狀態欄對象的showMessage(message,int timeout=0)方法 顯示狀態欄信息,其中第一個參數是要顯示的狀態欄信息,第二個參數是信息停留的時間,單位是毫秒,默認是0,表示一直顯示狀態欄信息顯示狀態欄信息,其中第一個參數是要顯示的狀態欄信息,第二個參數是信息停留的時間,單位是毫秒,默認是0,表示一直顯示狀態欄信息
注意:QMainWindow不能設置布局(使用setLayout()方法),因為它有自己的布局
創建主窗口實例#下面這行代碼是為了避免在所生成的pyqt中出現中文亂碼的問題# -*- 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) #設置窗口的大小 self.resize(400,200) #實例化創建狀態欄 self.status=self.statusBar() #將提示信息顯示在狀態欄中showMessage(‘提示信息’,顯示時間(單位毫秒)) self.status.showMessage(’這是狀態欄提示’,4000) #創建窗口標題 self.setWindowTitle(’PyQt MainWindow例子’)if __name__ == ’__main__’: # 每一個pyqt程序中都需要有一個QApplication對象,sys.argv是一個命令行參數列表 app=QApplication(sys.argv) #實例化窗口 form=MainWindow() #窗口顯示 form.show() #進入程序的主循環,遇到退出情況,終止程序 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(’主窗口居中的例子’) #設置窗體的寬高 self.resize(370,250) #調用一個函數 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,QWidgetimport sysclass WinForm(QMainWindow): def __init__(self,parent=None): super(WinForm, self).__init__(parent) self.setWindowTitle(’關閉主窗口的例子’) #創建按鈕實例,按鈕名稱:關閉主窗口 self.button1=QPushButton(’關閉主窗口’) #按鈕的clicked信號與onButtonClick槽函數關聯起來 self.button1.clicked.connect(self.onButtonClick) #水平布局 layout=QHBoxLayout() #按鈕加入水平布局中 layout.addWidget(self.button1) #創建widget窗口實例 main_frame=QWidget() #加載布局 main_frame.setLayout(layout) #把widget窗口加載到主窗口的中央位置 self.setCentralWidget(main_frame) def onButtonClick(self): #sender是發送信號的對象,這里獲得的是按鈕的名稱 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庫圖形界面開發之PyQt5窗口類QMainWindow詳細使用方法,了解更多相關文章請查看下面的相關鏈接
相關文章:
