pyqt 子窗口控制主窗口绘图_实战PyQt5: 005-主窗口QMainWindow
生活随笔
收集整理的這篇文章主要介紹了
pyqt 子窗口控制主窗口绘图_实战PyQt5: 005-主窗口QMainWindow
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
QMainWindow簡介
在桌面應用中,一個應用軟件通常都會包含一個主窗口,主窗口是承載所有控件的窗體, 在PyQt5中常用的主窗體有兩種QMainWindow和QDialog,他們也都繼承自QWidget,所以這三個類都可以用來創建主窗口,可以直接使用,也可以繼承后再使用。
如果一個窗口包含一個或者多個窗口,這個窗口就是父窗口,被包含的窗口就是子窗口。沒有父窗口的窗口就是頂層窗口,QMainWindow就是頂層窗口,它可以包含很多界面元素。QMainWindow窗口可以包含菜單欄,工具欄,狀態欄,標題欄等,所以是我們最常用的窗口形式。
在PyQt中,在它的中間會有一個QWidget占著中心的位置,我們可以使用setCentralWidget來設置中心窗口。下圖展示了一個QMainWindow的基本樣式:
QMainWindow窗口基本樣式示意圖
QMainWindow中比較重要的方法有:
- addToolBar(): 添加工具欄;
- centralWidget(): 返回窗口的中心控件,未設置時返回空;
- setCentralWidget():設置窗口的中心控件;
- menuBar(): 返回主窗口的菜單欄對象;
- setStatusBar(): 設置狀態欄;
- statusBar(): 獲得狀態欄對象;
QMainWindow類繼承關系:
測試QMainWindow
創建文件qmmainwindow.py, 演示狀態欄信息顯示和添加菜單欄,實現退出程序的功能,其代碼如下:
import sysfrom PyQt5 import QtCore, QtGui, QtWidgetsfrom PyQt5.QtWidgets import QApplication, QMainWindow, QMenu, QActionclass DemoMainWindow(QMainWindow): def __init__(self, parent=None): super(DemoMainWindow, self).__init__(parent) # 設置窗口標題 self.setWindowTitle('實戰PyQt5: QMainWindow Demo!') # 設置窗口大小 self.resize(400, 260) #菜單欄 #添加一個退出程序的功能 action_exit = QAction('Exit', self) action_exit.triggered.connect(self.close) menu_file = QMenu('File', self) menu_file.addAction(action_exit) menu_bar = self.menuBar() menu_bar.addMenu(menu_file) #狀態欄 status_bar = self.statusBar() status_bar.showMessage('這里是主窗口的狀態欄部分', 5000) if __name__ == '__main__': app = QApplication(sys.argv) window = DemoMainWindow() window.show() sys.exit(app.exec())運行結果如下圖所示:
測試QMainWindow
本文知識點
- QMainWindow是一個PyQt應用程序常用的主窗口;
- QMainWindow可支持菜單欄,工具條,狀態欄等;
- 實例化菜單欄對象,添加一個退出程序的操作;
- 實例化狀態欄對象,并在其上顯示信息。
喜歡本文內容就收藏,點贊,評論,關注和轉發。
總結
以上是生活随笔為你收集整理的pyqt 子窗口控制主窗口绘图_实战PyQt5: 005-主窗口QMainWindow的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 通过mtd读写flash_敏矽微电子Co
- 下一篇: yota3墨水屏设置_使用ESP32驱动