主窗口(QMainWindow)
前面我们新建了一个Widget——class MainWidget(QWidget)并令其在屏幕上显示,而QMainWindow可以提供一个主窗口。
在QMainWindow.py可以看见,QMainWindow继承自QWidget,通过QMainWindow你可以添加自己的QToolBars、QDockWidgets、QMenuBar、QStatusBar等。(可以在QMainWindow.py查看该类提供的方法。)
新建main_window.py并编辑代码如下:
import sys
from PyQt5.QtWidgets import QMainWindow, QApplication, QAction, qApp
class MainWidget(QMainWindow):
def __init__(self):
super().__init__()
self.init_ui()
def init_ui(self):
self.setGeometry(500, 100, 500, 500)
self.setWindowTitle('PyQt5')
self.show()
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = MainWidget()
sys.exit(app.exec())
运行效果如图:
状态栏(statusBar)
状态栏是用来显示应用的状态信息的组件。
在main_window.py中编辑代码如下:
import sys
from PyQt5.QtWidgets import QMainWindow, QApplication, QAction, qApp
class MainWidget(QMainWindow):
def __init__(self):
super().__init__()
self.init_ui()
def init_ui(self):
# statusBar--状态栏
self.statusBar().showMessage('Ready')
self.setGeometry(500, 100, 500, 500)
self.setWindowTitle('PyQt5')
self.show()
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = MainWidget()
sys.exit(app.exec())
运行效果如图:
菜单栏(menuBar)
一个应用程序可以有多个Menu(横向),每个菜单里可以有多个Action(纵向)。
在main_window.py中编辑代码如下:
import sys
from PyQt5.QtWidgets import QMainWindow, QApplication, QAction, qApp
from PyQt5.QtGui import QIcon
class MainWidget(QMainWindow):
def __init__(self):
super().__init__()
self.init_ui()
def init_ui(self):
self.init_menu()
self.