Python Qt GUI设计:菜单栏、工具栏和状态栏的使用方法(拓展篇—2)

目录

1、菜单栏

1.1、Qt Creator创建菜单栏

1.2、 菜单栏类创建菜单栏

2、工具栏

2.1、Qt Creator创建工具栏

2.2、 工具栏类创建工具栏

3、状态栏


在使用Qt Creator创建UI文件时,MainWindow主窗口,主要包含:菜单栏、工具栏、状态栏等。

1、菜单栏

1.1、Qt Creator创建菜单栏

 双击菜单栏上的“在这里输入”,输入文字,最后按回车键即可生成菜单。

例如,建立:文件、编辑两个一级菜单栏目,如下所示:

可以在一级目录下建二级目录,在文件栏目下建立打开栏目,如下所示:

在Qt Designer的属性编辑器中可以对动作进行编辑,设置快捷键、图标等信息,其详细信息如下图所示:

最后生成的UI文件可以再进行信号和槽的功能代码编写。 

1.2、 菜单栏类创建菜单栏

在QMainWindow对象的标题栏下方,水平的QMenuBar被保留显示QMenu对象。QMenu类提供了一个可以添加到菜单栏的小控件,也用于创建上下文菜单和弹出菜单。每个QMenu对象都可以包含一个或多个QAction对象或级联的QMenu对象。

PyQt API提供了createPopupMenu()函数创建一个弹出菜单;menuBar()函数用于返回主窗口的QMenuBar对象; addMenu()函数可以将菜单添加到菜单栏中;通过addAction()函数可以在菜单中进行添加操作等。在设计菜单系统时使用的一些重要方法如下表所示:

通个示例了解QMenuBar、QMenu和QAction菜单栏类,示例效果如下所示:

示例中,顶层窗口必须是QMainWindow对象,才可以引用QMenuBar对象。通过addMenu()方法将“File"菜单添加到菜单栏中。菜单中的操作按钮可以是字符串或QAction对象。菜单发射triggered信号,将该信号连接到槽函数proecesstrigger(),该函数接收信号的QAction对象。单击任何QAction按钮时,QMenu对象都会发射triggered信号。

实现代码如下所示:

  1. import sys

  2. from PyQt5.QtCore import *

  3. from PyQt5.QtGui import *

  4. from PyQt5.QtWidgets import *

  5. class MenuDemo(QMainWindow):

  6. def __init__(self, parent=None):

  7. super(MenuDemo, self).__init__(parent)

  8. layout = QHBoxLayout()

  9. bar = self.menuBar()

  10. file = bar.addMenu("File")

  11. file.addAction("New")

  12. save = QAction("Save",self)

  13. save.setShortcut("Ctrl+S")

  14. file.addAction(save)

  15. edit = file.addMenu("Edit")

  16. edit.addAction("copy")

  17. edit.addAction("paste")

  18. quit = QAction("Quit",self)

  19. file.addAction(quit)

  20. file.triggered[QAction].connect(self.processtrigger)

  21. self.setLayout(layout)

  22. self.setWindowTitle("menu 例子")

  23. self.resize(350,300)

  24. def processtrigger(self,q):

  25. print( q.text()+" is triggered" )

  26. if __name__ == '__main__':

  27. app = QApplication(sys.argv)

  28. demo = MenuDemo()

  29. demo.show()

  30. sys.exit(app.exec_())

2、工具栏

QToolBar控件是由文本按钮、图标或其他小控件按钮组成的可移动面板,通常位于菜单栏下方。

。。。。。。。。。。。。。。。。。

版权原因,完整文章,请参考如下:Python Qt GUI设计:菜单栏、工具栏和状态栏的使用方法(拓展篇—2)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PyQt6是一个用于Python的跨平台GUI应用程序开发框架,它结合了Qt库的强大功能与Python的简洁易用性。在PyQt6中,你可以创建丰富的用户界面,包括菜单栏工具栏状态栏。 1. **菜单栏(Menubar)**: 菜单栏通常位于窗口顶部,包含了应用的主要功能选项,如文件、编辑、查看等。在PyQt6中,可以使用`QMenuBar`类来创建和管理菜单,通过`addMenu()`添加子菜单,然后使用`addAction()`为菜单项关联相应的函数或槽(slot)。 ```python menu_bar = QApplication.menuBar() file_menu = menu_bar.addMenu('文件') open_action = QAction('打开', self) save_action = QAction('保存', self) file_menu.addAction(open_action) file_menu.addAction(save_action) ``` 2. **工具栏(Toolbar)**: 工具栏一般包含一组操作频繁的按钮或图标,方便用户快速访问。`QToolBar`类可以用来创建工具栏。同样地,你可以通过`addAction()`添加工具栏动作,并设置其显示文本和图标。 ```python toolbar = QToolBar('常用操作') open_button = QAction(QIcon('open_icon.png'), '打开', self) toolbar.addAction(open_button) self.addToolBar(toolbar) ``` 3. **状态栏(Status Bar)**: 状态栏通常位于窗口底部,用于显示程序的状态信息,如当前的工作进度或错误提示。使用`QStatusBar`创建状态栏,然后添加`QLabel`或其他小部件显示信息。 ```python status_bar = self.statusBar() status_label = QLabel('欢迎使用', self) status_bar.addWidget(status_label) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值