引言
在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 的菜单栏中找到你想要添加动作的第一个菜单,然后拖拽动作到该菜单中。
- 重复这个过程,将同一个动作拖拽到另一个菜单中。