QT 窗口类(QMainWindow)的使用
QMainWindow
是 Qt 框架中提供的一个标准主窗口类,它提供了应用程序中常见的窗口元素,如菜单栏、工具栏、状态栏和中心组件。以下是有关如何使用 QMainWindow
的一些基本步骤和示例代码:
基本步骤
- 创建一个 QMainWindow 子类:继承
QMainWindow
,并在构造函数中设置窗口的部件。 - 设置中心部件:使用
setCentralWidget()
方法将一个主要部件设置为窗口的中心。 - 添加菜单栏和工具栏:使用
menuBar()
和addToolBar()
来添加菜单和工具栏。 - 设置状态栏:使用
statusBar()
设置或获取状态栏。 - 配置窗口属性:如窗口标题、大小等。
示例代码
以下是一个简单的示例,演示如何创建一个包含菜单栏、工具栏和状态栏的 QMainWindow
:
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QTextEdit, QAction
class MyMainWindow(QMainWindow):
def __init__(self):
super().__init__()
# 设置窗口标题
self.setWindowTitle("My QMainWindow")
# 创建一个中心部件
self.textEdit = QTextEdit()
self.setCentralWidget(self.textEdit)
# 创建菜单栏
menubar = self.menuBar()
fileMenu = menubar.addMenu('File')
# 创建动作
newAction = QAction('New', self)
newAction.setShortcut('Ctrl+N')
fileMenu.addAction(newAction)
# 创建工具栏
toolbar = self.addToolBar('Main Toolbar')
toolbar.addAction(newAction)
# 创建状态栏
self.statusBar().showMessage('Ready')
# 创建应用程序
app = QApplication(sys.argv)
# 实例化窗口
window = MyMainWindow()
window.setGeometry(100, 100, 800, 600)
window.show()
# 运行应用程序
sys.exit(app.exec_())
代码说明
- 中心部件:使用
QTextEdit
作为中心部件,并通过setCentralWidget()
设置到主窗口中。 - 菜单栏和工具栏:创建一个菜单项和一个工具栏按钮,通过
QAction
绑定到同一个动作。 - 状态栏:显示默认信息 "Ready"。
- 应用程序启动:创建
QApplication
实例,并通过app.exec_()
启动应用程序事件循环。
这是一个简单的示例,而在实际应用中,你可能需要根据需求增加复杂的功能,比如响应菜单和工具栏的事件、使用信号与槽机制等。