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

news2024/12/24 11:01:10

引言



在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.设置响应事件

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1619999.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

清华大学灵境智能技术交叉创新群体博士后,综合年收入30-60万

清华大学灵境智能技术交叉创新群体现面向全球招聘优秀博士后研究人员,以进一步推动三维生成、三维重建、多模态智能交互、控制交互演化、知识工程及情感计算等领域的研究。我们诚邀有志于从事交叉学科研究的青年才俊加入我们的团队,共同探索智能技术的前…

智慧中药煎配系统:自动化煎药管理,传统中医焕发现代魅力-亿发

传统中医药服务迎来了全新的发展契机。亿发中药煎配系统,利用现代通信技术和自动控制技术,结合智能制造、大数据和物联网等现代化信息技术,革新中药煎制的方式,实现了100%数字化和全流程信息追溯,从根本上保障了药效和…

【Git系列】rebase的使用场景

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

解密 Grupo MasMovil 使用 ClickHouse 监控无线网络

本文字数:4151;估计阅读时间:11 分钟 作者:Rodrigo Aguirregabiria Herrero, Grupo MasMovil 审校:庄晓东(魏庄) 本文在公众号【ClickHouseInc】首发 我们很高兴与大家分享来自西班牙最大的电信…

跟裤裤一起探索结构体的奥秘!

目录 1.结构体类型的声明 2.结构体变量的创建和初始化 2.1结构体成员的直接访问 2.2结构体成员的间接访问 2.3结构体变量的创建和初始化 3.结构的自引用 4.结构体内存对齐 4.1对齐规则 ​4.2为什么存在内存对齐? 4.3修改默认对齐数 5.结构体传参 6.结构…

GUI测试首推!TestComplete 帮助有效缩短 40-50% 测试时长!

TestComplete 是一款自动化UI测试工具,这款工具目前在全球范围内被广泛应用于进行桌面、移动和Web应用的自动化测试。 TestComplete 集成了一种精心设计的自动化引擎,可以自动记录和回放用户的操作,方便用户进行UI(用户界面&…

Pyside6:多行按钮点击判断序号

在Pyside开发过程中会遇到这么个问题:当多个按钮在很多行中,需要在点击槽函数中确认按钮的行。 普通的按钮点击信号如下: clicked() 该信号并未有任何参数,无法得到有效的信息,那么如何完成点击哪个确定是哪个按钮呢…

分类预测 | Matlab实现RIME-BP霜冰优化BP神经网络多特征分类预测

分类预测 | Matlab实现RIME-BP霜冰优化BP神经网络多特征分类预测 目录 分类预测 | Matlab实现RIME-BP霜冰优化BP神经网络多特征分类预测分类效果基本介绍程序设计参考资料 分类效果 基本介绍 1.RIME-BP霜冰优化BP神经网络多特征分类预测(Matlab实现完整源码和数据&a…

Linux SDIO-WiFi 协议栈

Linux SDIO-WiFi 协议栈 1. 简介2. BCMDHD2.1 WiFi模组2.2 驱动初始化(dhd_module_init) 3. Broadcom fullmac WLAN 1. 简介 2. BCMDHD BCMDHD:Broadcom Dongle Host DriverSIP:System In Package 2.1 WiFi模组 2.2 驱动初始化…

条件生成对抗网络(cGAN)在AI去衣技术中的应用探索

随着深度学习技术的飞速发展,生成对抗网络(GAN)作为其中的一个重要分支,在图像生成、图像修复等领域展现出了强大的能力。其中,条件生成对抗网络(cGAN)通过引入条件变量来控制生成模型的输出&am…

互联网大厂ssp面经,数据结构part3

1. 哈希表的原理是什么?如何解决哈希碰撞问题? a. 原理:通过哈希函数将每个键映射到一个唯一的索引位置,然后将值存储在对应索引位置的存储桶中。 b. 关键:将不同的键映射到不同的索引位置,以实现快速的插…

Spring Boot 集成 EasyExcel 3.x

Spring Boot 集成 EasyExcel 3.x Spring Boot 集成 EasyExcel 3.x 本章节将介绍 Spring Boot 集成 EasyExcel(优雅实现Excel导入导出)。 🤖 Spring Boot 2.x 实践案例(代码仓库) 介绍 EasyExcel 是一个基于 Java 的、…

社交的神奇好处你都知道吗?

聊天交友软件是人们日常生活中不可或缺的一部分,有些需要花费大量金钱才能享受完整的功能,但也有一些不需要花费金钱的聊天交友软件,如微信、QQ等。这些软件提供了多种交流方式,让用户可以方便地结识新朋友、扩大社交圈子&#xf…

基于SpringBoot的合家云社区物业管理平台 - 项目介绍

合家云社区物业管理平台 2.合家云需求&设计 2.1 项目概述 2.1.1 项目介绍 合家云社区物业管理平台是一个全新的 ”智慧物业解决方案“,是一款互联网的专业社区物业管理系统。平台通过社区资产管理、小区管理、访客管理、在线报修、意见投诉等多种功能模块&a…

游戏陪玩系统app

游戏陪玩系统APP为用户提供了一个便捷的平台,让他们能够轻松找到合适的陪玩者,一同享受游戏的乐趣。以下是对您提到的功能的详细解释: 游戏约玩: 在陪玩APP上,用户可以浏览陪玩者的信息,包括他们的游戏技能…

YOLOv8 训练自己的数据集(20240423)

环境搭建请参考:Win10 搭建 YOLOv8 运行环境(20240423)-CSDN博客 环境测试请参考:本地运行测试 YOLOv8(20240423)-CSDN博客 一、使用 YOLOv8 的 coco128 数据集熟悉一下如何训练和预测 1.1、在项目根目录…

新的ChatGPTPlus(GPT4)支付渠道?怎么付费充值?

GPT4多少钱一个月 GPT4一个20美元。作为最优秀的语言模型之一,GPT-4为您带来无与伦比的生产力体验。 除了出色的自然语言处理能力,GPT-4还引入了创新的代码解释器功能和强大的插件扩展,进一步提升了您的工作效率和创造力。 代码解释器功能&…

excel一列同乘同一个数

excel一列同乘同一个数 第一种方法(excel本身功能) 在空白区域输入要乘以的数,比如0.5 右键选择复制 选中需要乘以的单元格,选择性粘贴 点击乘,选择确定 删除0.5后也不会改变值 第二种方法(方方格子…

LLama的激活函数SwiGLU 解释

目录 Swish激活函数 1. Swish函数公式 LLaMA模型中的激活函数 1. SwiGLU激活函数 2. SwiGLU激活函数的表达式 3. SwiGLU激活函数的优势 Swish激活函数 Swish是一种激活函数,其计算公式如下: 1. Swish函数公式 Swish(x) x * sigmoid(x) 其中&am…

开源协议的对比和商业上的安全使用

开源协议的对比和商业上的安全使用 开源组件是:“任何人都可以自由使用、更改和共享(以修改或未修改的形式)的软件”。当今企业依靠开源来加速开发、降低成本和推动创新。对开放源码的糟糕管理可能会使组织面临安全、法律和操作风险。 使用…