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

2024-04-24 04:28

本文主要是介绍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.设置响应事件

这篇关于Qt 菜单栏上手教程:QMenuBar QMenu QToolbar的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/930756

相关文章

Steam邮件推送内容有哪些?配置教程详解!

Steam邮件推送功能是否安全?如何个性化邮件推送内容? Steam作为全球最大的数字游戏分发平台之一,不仅提供了海量的游戏资源,还通过邮件推送为用户提供最新的游戏信息、促销活动和个性化推荐。AokSend将详细介绍Steam邮件推送的主要内容。 Steam邮件推送:促销优惠 每当平台举办大型促销活动,如夏季促销、冬季促销、黑色星期五等,用户都会收到邮件通知。这些邮件详细列出了打折游戏、

X-AnyLabeling使用教程

1.AI 模型自动分割标注使用教程 2.AI 模型自动目标检测标注使用教程

青龙面板2.9之Cdle傻妞机器人编译教程

看到有的朋友对傻妞机器人感兴趣,这里写一下傻妞机器人的编译教程。 第一步,这里以linux amd64为例,去官网下载安装go语言安装包: 第二步,输入下方指令 cd /usr/local && wget https://golang.google.cn/dl/go1.16.7.linux-amd64.tar.gz -O go1.16.7.linux-amd64.tar.gz

青龙面板部署通用教程,含服务器、路由器、X86等部署方法

1. 拉取镜像/更新镜像 docker pull whyour/qinglong:latest 2. 删除镜像 docker rmi whyour/qinglong:latest 3. 启动容器 普通服务器 docker run -dit \-v $PWD/ql/config:/ql/config \-v $PWD/ql/log:/ql/log \-v $PWD/ql/db:

宝塔面板部署青龙面板教程【简单易上手】

首先,你得有一台部署了宝塔面板的服务器(自己用本地电脑也可以)。 宝塔面板部署自行百度一下,很简单,这里就不走流程了,官网版本就可以,无需开心版。 首先,打开宝塔面板的软件商店,找到下图这个软件(Docker管理器)安装,青龙面板还是安装在docker里,这里依赖宝塔面板安装和管理docker。 安装完成后,进入SSH终端管理,输入代码安装青龙面板。ssh可以直接宝塔里操作,也可以安装ssh连接

PS系统教程25

介绍软件 BR(bridge) PS 配套软件,方便素材整理、管理素材 作用:起到桥梁作用 注意:PS和BR尽量保持版本一致 下载和安装可通过CSDN社区搜索,有免费安装指导。 安装之后,我们打开照片只需双击照片,就自动在Ps软件中打开。 前提:电脑上有PS软件 三种预览格式 全屏预览 评星级 直接按数字键就可以 方向键可以更换图片 esc退出 幻灯片放

QT 中ListView和ListWidget有什么区别

ListView和ListWidget在Qt框架中都是用于显示列表数据的控件,但它们在使用方法和特性上存在一些明显的差异。以下是关于它们用法不一样的地方的详细分析: 数据管理方式: ListView:使用QAbstractItemModel数据模型来管理和显示列表数据。QAbstractItemModel是一个抽象类,允许开发者自定义数据模型以适应特定的数据结构和需求。这使得ListView在处

flex布局学习笔记(flex布局教程)

前端笔试⾯试经常会问到:不定宽⾼如何⽔平垂直居中。最简单的实现⽅法就是flex布局,⽗元素加上如下代码即 可: display: flex; justify-content: center; align-items :center; 。下⾯详细介绍下flex布局吧。   2009年,W3C提出了 Flex布局,可以简便⼂完整⼂响应式地实现各种页⾯布局。⽬前已得到了所有浏览器的⽀持,这意味着,现

IPython小白教程:提升你的Python交互式编程技巧,通俗易懂!

IPython是一个增强的Python交互式shell,它提供了丰富的功能和便捷的交互方式,使得Python开发和数据分析工作更加高效。本文将详细介绍IPython的基本概念、使用方法、主要作用以及注意事项。 一、IPython简介 1. IPython的起源 IPython由Fernando Pérez于2001年创建,旨在提供一个更高效的Python交互式编程环境。 2. IPyt

图形编辑器基于Paper.js教程03:认识Paper.js中的所有类

先来认一下Paper的资源对象,小弟有哪些,有个整体的认识。认个脸。 在Paper.js的 官方文档中类大致有如下这些: 基类: ProjectViewItemPointToolSizeSegmentRectangleCurveCurveLocationMatrixColorStyleTweenToolEventGradientGradientStopEvent 二级或三级类 继承Ite