一、状态栏
状态栏是用来显示应用的状态信息的组件。
import sys
from PyQt5.QtWidgets import QMainWindow, QApplication
class Example(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 = Example()
sys.exit(app.exec_())
知识点:
self.statusBar().showMessage('Ready')
二、菜单栏
import sys
from PyQt5.QtWidgets import QMainWindow, QAction, qApp, QApplication
from PyQt5.QtGui import QIcon
class Example(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()
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 = Example()
sys.exit(app.exec_())
知识点:
def initUI(self):
##创建一个Action,并为Action按键添加状态信息,并链接按键行为
exitAction = QAction(QIcon('exit.png'), '&Exit', self)
exitAction.setShortcut('Ctrl+Q')
exitAction.setStatusTip('Exit application')
exitAction.triggered.connect(qApp.quit)
##建立状态栏
self.statusBar()
##建立菜单
menubar = self.menuBar()
##添加菜单File按钮,并为File按钮链接Action子菜单
fileMenu = menubar.addMenu('&File')
fileMenu.addAction(exitAction)
self.setGeometry(300, 300, 300, 200)
self.setWindowTitle('Menubar')
self.show()
由此,其实是可以实现将多个程序合并到一个ui界面的功能了。
import sys
from PyQt5.QtWidgets import QMainWindow, QAction, qApp, QApplication
from PyQt5.QtGui import QIcon
import helloworld
import myname
print('e')
class Example(QMainWindow):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
helloworldAction = QAction(QIcon('web.png'), '&HelloWorld', self)
helloworldAction.setShortcut('Ctrl+H')
helloworldAction.setStatusTip('Print:hello, world')
helloworldAction.triggered.connect(helloworld.helloworld)
mynameAction = QAction(QIcon('web.png'), '&Test', self)
mynameAction.setShortcut('Ctrl+M')
mynameAction.setStatusTip('Print:my name')
mynameAction.triggered.connect(myname.myname)
self.statusBar()
menubar = self.menuBar()
fileMenu = menubar.addMenu('&Test')
fileMenu.addAction(helloworldAction)
fileMenu.addAction(mynameAction)
self.setGeometry(300, 300, 300, 200)
self.setWindowTitle('Menubar')
self.show()
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = Example()
sys.exit(app.exec_())
完美。