Qt 菜单栏上手教程:QMenuBar QMenu QToolbar

引言



在Qt框架中,QMenuBar、QMenu、QToolbar和QAction都是用于构建应用程序界面中的用户交互元素。

QMenuBar

  • 是什么:QMenuBar是一个用于创建横向菜单栏的类。在桌面应用程序中,它通常位于窗口的顶部。
  • 应用场景:当您需要一个包含多个下拉菜单的标准菜单栏时,可以使用QMenuBar。每个下拉菜单(由QMenu对象表示)可以包含一组操作(QAction对象)或更多的子菜单。

QMenu

  • 是什么:QMenu是一个用于创建下拉菜单的类。这些菜单包含一系列的QAction对象,用户可以通过点击这些对象来执行命令。
  • 应用场景:用于在QMenuBar中创建下拉菜单项,或者作为上下文菜单(也称为右键菜单)显示。QMenu可以包含多个QAction对象,以及分隔符来逻辑分组动作。

QToolbar

  • 是什么:QToolbar提供了一个工具栏的容器,在其中可以放置按钮、下拉菜单或其他小部件。
  • 应用场景:用于快速访问最常用的命令,通常以图标形式显示。它们可以悬浮也可以停靠在应用程序窗口的边缘。和QMenu一样,QToolbar也可以包含QAction对象,从而提供与菜单栏一致的操作。

QAction

  • 是什么:QAction是一个用于执行命令的抽象用户界面动作。它可以被认为是一个触发器,当用户与之交互时会执行某个命令。
  • 应用场景:QAction可以在多个地方使用,例如在菜单(QMenu)、工具栏(QToolbar)或其他用户界面元素中。通过在这些地方使用相同的QAction,您可以确保不同界面元素之间行为的一致性,并且可以集中地管理动作状态(如启用、禁用、图标、文本等)。

总结,QMenuBar、QMenu、QToolbar和QAction是协同工作的类,用于创建和管理一个应用程序的用户界面命令和控制。它们使得界面元素之间的动作同步变得容易,提高了代码的重用性和界面的一致性。

1.添加QMenuBar QMenu QToolbar

右击这个窗口上层的控件,然后可以添加QMenuBar QMenu QToolbar

2.使用动作编辑器(Action Editor)添加action

  • 在动作编辑器(Action Editor)中创建一个QAction。
  • 确保它不是任何一个QMenu 的一部分。

只有在actionEditor中创建的action才能被多个控件中引用

3.将 QAction 添加到多个菜单:

  • 在QMainWindow 的菜单栏中找到你想要添加动作的第一个菜单,然后拖拽动作到该菜单中。
  • 重复这个过程,将同一个动作拖拽到另一个菜单中。

4.设置响应事件

相关推荐

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-24 02:46:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-24 02:46:02       100 阅读
  3. 在Django里面运行非项目文件

    2024-04-24 02:46:02       82 阅读
  4. Python语言-面向对象

    2024-04-24 02:46:02       91 阅读

热门阅读

  1. 挂在Avalon总线上的AD7656芯片驱动verilog程序实现

    2024-04-24 02:46:02       29 阅读
  2. 【C语言笔记】memcpy和memncpy函数的异同点

    2024-04-24 02:46:02       39 阅读
  3. 力扣经典150题解析之三十四:有效的数独

    2024-04-24 02:46:02       55 阅读
  4. 【无标题】

    2024-04-24 02:46:02       35 阅读
  5. 【Qt事件】

    2024-04-24 02:46:02       31 阅读
  6. 【前端】npm常用命令

    2024-04-24 02:46:02       35 阅读
  7. Shell+sqlldr载数卸数

    2024-04-24 02:46:02       23 阅读
  8. 让多个域名都可以访问一个wordpress网站

    2024-04-24 02:46:02       40 阅读
  9. 前后端开发的非对称机密,Token加密加盐设置

    2024-04-24 02:46:02       30 阅读
  10. 【数据分析】学习笔记day1

    2024-04-24 02:46:02       27 阅读
  11. LOD2-Unity中Shader LOD技术原理以及使用

    2024-04-24 02:46:02       32 阅读