4.1主窗口
QMainWindow 類提供了一個主要的應(yīng)用程序窗口捞烟。你用它可以讓應(yīng)用程序添加狀態(tài)欄,工具欄和菜單欄。
4.2狀態(tài)欄
狀態(tài)欄用于顯示狀態(tài)信息苹粟。
# -*- coding: utf-8 -*-
"""
author: BruceOu
last edited: 2020-06
"""
import sys
from PyQt5.QtWidgets import QMainWindow, QApplication
class Statusbar(QMainWindow):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.statusBar().showMessage('Ready')
self.setGeometry(300, 300, 250, 150)
self.setWindowTitle('Statusbar')
self.show()
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = Statusbar()
sys.exit(app.exec_())
你用QMainWindow創(chuàng)建狀態(tài)欄的小窗口。
self.statusBar().showMessage('Ready')
QMainWindow類第一次調(diào)用statusBar()方法創(chuàng)建一個狀態(tài)欄。后續(xù)調(diào)用返回的狀態(tài)欄對象滑燃。showMessage()狀態(tài)欄上顯示一條消息。
4.3菜單欄
菜單欄是常見的窗口應(yīng)用程序的一部分颓鲜。(Mac OS將菜單條不同表窘。得到類似的結(jié)果,我們可以添加以下行:menubar.setNativeMenuBar(假)。)
# -*- coding: utf-8 -*-
"""
author: BruceOu
last edited: 2020-06
"""
import sys
from PyQt5.QtWidgets import QMainWindow, QAction, qApp, QApplication
from PyQt5.QtGui import QIcon
class Menubar(QMainWindow):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
exitAction = QAction(QIcon('exit.png'), '&Exit', self)
exitAction.setShortcut('Ctrl+Q')
exitAction.setStatusTip('Exit application')
exitAction.triggered.connect(qApp.quit)
self.statusBar()
#創(chuàng)建一個菜單欄
menubar = self.menuBar()
#添加菜單
fileMenu = menubar.addMenu('&File')
#添加事件
fileMenu.addAction(exitAction)
self.setGeometry(300, 300, 300, 200)
self.setWindowTitle('Menubar')
self.show()
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = Menubar()
sys.exit(app.exec_())
在上面的例子中,我們創(chuàng)建一個菜單欄和一個菜單甜滨。這個菜單將終止應(yīng)用程序乐严。Ctrl + Q的行動是可訪問的快捷方式。
exitAction = QAction(QIcon('exit.png'), '&Exit', self)
exitAction.setShortcut('Ctrl+Q')
exitAction.setStatusTip('Exit application')
QAction可以操作菜單欄,工具欄,或自定義鍵盤快捷鍵衣摩。上面三行,我們創(chuàng)建一個事件和一個特定的圖標(biāo)和一個“退出”的標(biāo)簽昂验。然后,在定義該操作的快捷鍵。
第三行創(chuàng)建一個鼠標(biāo)指針懸停在該菜單項上時的提示艾扮。
exitAction.triggered.connect(qApp.quit)
當(dāng)我們點擊菜單的時候既琴,調(diào)用qApp.quit,終止應(yīng)用程序。
4.4工具欄
工具欄提供了一個快速訪問的入口栏渺。
# -*- coding: utf-8 -*-
"""
author: BruceOu
last edited: 2020-06
"""
import sys
from PyQt5.QtWidgets import QMainWindow, QAction, qApp, QApplication
from PyQt5.QtGui import QIcon
class Toolbar(QMainWindow):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
exitAction = QAction(QIcon('exit.png'), 'Exit', self)
exitAction.setShortcut('Ctrl+Q')
exitAction.triggered.connect(qApp.quit)
self.toolbar = self.addToolBar('Exit')
self.toolbar.addAction(exitAction)
self.setGeometry(300, 300, 300, 200)
self.setWindowTitle('Toolbar')
self.show()
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = Toolbar()
sys.exit(app.exec_())
在上面的例子中,我們創(chuàng)建一個簡單的工具欄呛梆。工具欄有有一個按鈕,點擊關(guān)閉窗口。
exitAction = QAction(QIcon('exit24.png'), 'Exit', self)
exitAction.setShortcut('Ctrl+Q')
exitAction.triggered.connect(qApp.quit)
類似于上面的菜單欄的例子,我們創(chuàng)建一個QAction事件磕诊。該事件有一個標(biāo)簽填物、圖標(biāo)和快捷鍵纹腌。退出窗口的方法。
4.5綜合運用
在本節(jié)的最后一個例子中,我們將創(chuàng)建一個菜單條,工具欄和狀態(tài)欄的小窗口
# -*- coding: utf-8 -*-
"""
author: BruceOu
last edited: 2020-06
"""
import sys
from PyQt5.QtWidgets import QMainWindow, QTextEdit, QAction, QApplication
from PyQt5.QtGui import QIcon
class All(QMainWindow):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
textEdit = QTextEdit()
self.setCentralWidget(textEdit)
exitAction = QAction(QIcon('exit.png'), 'Exit', self)
exitAction.setShortcut('Ctrl+Q')
exitAction.setStatusTip('Exit application')
exitAction.triggered.connect(self.close)
self.statusBar()
menubar = self.menuBar()
fileMenu = menubar.addMenu('&File')
fileMenu.addAction(exitAction)
toolbar = self.addToolBar('Exit')
toolbar.addAction(exitAction)
self.setGeometry(300, 300, 350, 250)
self.setWindowTitle('Main window')
self.show()
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = All()
sys.exit(app.exec_())
資源獲取方法
1.關(guān)注公眾號[AI實驗樓]
2.在公眾號回復(fù)關(guān)鍵詞[PyQt5]獲取資料提取碼
歡迎訪問我的網(wǎng)站
BruceOu的嗶哩嗶哩
BruceOu的主頁
BruceOu的博客
BruceOu的CSDN博客
BruceOu的簡書
BruceOu的知乎