提示信息

QT 窗口类(QMainWindow)的使用

一笔荒芜 已关注

QMainWindow 是 Qt 框架中提供的一个标准主窗口类,它提供了应用程序中常见的窗口元素,如菜单栏、工具栏、状态栏和中心组件。以下是有关如何使用 QMainWindow 的一些基本步骤和示例代码:

基本步骤

  1. 创建一个 QMainWindow 子类:继承 QMainWindow,并在构造函数中设置窗口的部件。
  2. 设置中心部件:使用 setCentralWidget() 方法将一个主要部件设置为窗口的中心。
  3. 添加菜单栏和工具栏:使用 menuBar()addToolBar() 来添加菜单和工具栏。
  4. 设置状态栏:使用 statusBar() 设置或获取状态栏。
  5. 配置窗口属性:如窗口标题、大小等。

示例代码

以下是一个简单的示例,演示如何创建一个包含菜单栏、工具栏和状态栏的 QMainWindow

  1. import sys
  2. from PyQt5.QtWidgets import QApplication, QMainWindow, QTextEdit, QAction
  3. class MyMainWindow(QMainWindow):
  4. def __init__(self):
  5. super().__init__()
  6. # 设置窗口标题
  7. self.setWindowTitle("My QMainWindow")
  8. # 创建一个中心部件
  9. self.textEdit = QTextEdit()
  10. self.setCentralWidget(self.textEdit)
  11. # 创建菜单栏
  12. menubar = self.menuBar()
  13. fileMenu = menubar.addMenu('File')
  14. # 创建动作
  15. newAction = QAction('New', self)
  16. newAction.setShortcut('Ctrl+N')
  17. fileMenu.addAction(newAction)
  18. # 创建工具栏
  19. toolbar = self.addToolBar('Main Toolbar')
  20. toolbar.addAction(newAction)
  21. # 创建状态栏
  22. self.statusBar().showMessage('Ready')
  23. # 创建应用程序
  24. app = QApplication(sys.argv)
  25. # 实例化窗口
  26. window = MyMainWindow()
  27. window.setGeometry(100, 100, 800, 600)
  28. window.show()
  29. # 运行应用程序
  30. sys.exit(app.exec_())

代码说明

  • 中心部件:使用 QTextEdit 作为中心部件,并通过 setCentralWidget() 设置到主窗口中。
  • 菜单栏和工具栏:创建一个菜单项和一个工具栏按钮,通过 QAction 绑定到同一个动作。
  • 状态栏:显示默认信息 "Ready"。
  • 应用程序启动:创建 QApplication 实例,并通过 app.exec_() 启动应用程序事件循环。

这是一个简单的示例,而在实际应用中,你可能需要根据需求增加复杂的功能,比如响应菜单和工具栏的事件、使用信号与槽机制等。

    遇到难题? "AI大模型GPT4.0、GPT" 是你的私人解答专家! 点击按钮去提问......
一笔荒芜 关注 已关注

最近一次登录:2024-11-20 12:03:06   

暂时还没有签名,请关注我或评论我的文章
×
免费图表工具,画流程图、架构图