QMenu类

QMenu 是 Qt 框架中的一个类,用于创建和管理弹出式菜单 请注意,以上是一个基本的示例,实际使用中还可以对菜单进行更多的自定义设置,如添加子菜单、设置图标、禁用菜单项等。具体的函数和用法请参考 Qt 框架的文档或官方示例。提供了一种方便的方式来显示菜单选项,并在用户选择某个选项时触发相应的操作。它可以包含各种菜单项,如普通菜单项、分隔符、子菜单等。函数将菜单项的触发信号与相应的槽函数连接起来,以处理菜单项的触发事件。是 Qt 框架中的一个类,用于创建和管理弹出式菜单。函数添加了两个菜单项,并将它们保存为。函数设置菜单的位置为当前光标位置。函数显示菜单,并通过。 阅读详情

QMenu 类提供了一个菜单部件,用于菜单栏、上下文菜单和其他弹出菜单。

Header:#include <QMenu>
CMake:find_package(Qt6 REQUIRED COMPONENTS Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets)
qmake:QT += widgets
Inherits:< QWidget

【详细描述】

菜单控件是一个选择菜单。它可以是菜单栏中的下拉菜单,也可以是独立的上下文菜单。当用户单击相应的项目或按指定的快捷键时,菜单栏会显示下拉菜单。使用QMenuBar::addMenu()将菜单插入菜单栏。上下文菜单通常由一些特殊的键盘键或右键单击来调用。它们可以与popup()异步执行,也可以与exec() 同步执行。也可以调用菜单来响应按钮按下,这些就像上下文菜单一样,只是它们的调用方式不同。


 行为 

菜单由操作项列表组成。使用 addAction(), addActions() 和  insertAction() 函数添加操作。动作垂直表示,由 QStyle 呈现。此外, actions可以有一个文本标签,一个在最左侧绘制的可选图标,以及快捷键序列,如“Ctrl+X”。

菜单所持有的现有操作可以在 actions()中找到。

有四种类型的操作项:分隔符、显示子菜单的操作、r控件和执行操作的操作。用  addSeparator() 插入分隔符,用addMenu()插入子菜单,所有其他项目都被视为action项。

插入 action 时,通常指定接收器receiver和槽。每当项目为triggered()时,接收者将收到通知。此外,QMenu 提供两个信号triggered() 和 hovered(),它们表示从菜单触发的信号。

使用 clear() 清除菜单,并使用 removeAction() 删除单个操作项 action。

QMenu 还可以提供撕下菜单。撕下菜单是包含菜单副本的顶级窗口。这使得用户可以“撕下”常用菜单并将它们放置在屏幕上方便的位置。如果需要特定菜单的此功能,请插入setTearOffEnabled() 的撕下手柄。使用撕下菜单时,请记住,该概念通常不会在 Microsoft Windows 上使用,因此某些用户可能不熟悉它。请考虑改用 QToolBar。

控件可以与类一起插入到菜单中。此类的实例用于保存控件,并通过 addAction() 重载插入菜单中,该重载采用 .如果触发 () 信号,菜单将关闭。

警告: 要使 QMenu 在屏幕上可见,应使用 exec() 或 popup() 而不是 show()或 setVisible() 。若要隐藏或禁用菜单栏中的菜单,或将其作为子菜单添加到的另一个菜单中的菜单,请改用addAction()的相应属性。

有关如何在应用程序中使用 QMenu 的示例,请参阅示例。

重要的继承函数:addAction(), removeAction(), clear(), addSeparator(), addMenu()。

另请参见 QMenuBar and Menus Example。


【属性】

icon : QIcon

该属性保存菜单的图标,相当于menuAction()的QAction::icon 属性。如果没有显式设置图标,则该属性默认包含一个空图标。

separatorsCollapsible : bool

此属性决定是否应该折叠连续的分隔符。此属性指定菜单中的连续分隔符是否应可视地折叠为一个。菜单开头或结尾的分隔符也是隐藏的。 默认情况下,该属性为true。

tearOffEnabled : bool

该属性决定菜单是否支持被”撕掉“。为true时,菜单包含一个特殊的可撕下项目(通常显示为菜单顶部的虚线),该项目在被触发时会创建菜单的副本。 这个“撕掉的”副本位于一个单独的窗口中。除了多出一个手柄之外,它包含与原始菜单相同的菜单项。 默认情况下,该属性为false。

title : QString

该属性保存菜单的标题, 相当于menuAction()的QAction::text属性。此属性默认包含一个空字符串。

toolTipsVisible : bool

此属性决定菜单操作的工具提示是否可见。默认为false。

【公共函数】

QMenu(QWidget *parent = nullptr)
QMenu(const QString &title, QWidget *parent = nullptr)
构造一个带有标题和父级的菜单。 尽管弹出菜单始终是顶级部件,但如果传递了一个父级,当该父级被销毁时,弹出菜单将被删除(与任何其他QObject一样)
virtual~QMenu()
QAction *actionAt(const QPoint &pt) const
返回 pt 项,如果没有 pt 项,则返回nullptr。
QRectactionGeometry(QAction *act) const
返回 act 的几何形状。
QAction *activeAction() const
返回当前突出显示的action,如果当前没有突出显示的action,则返回nullptr。
QAction *addMenu(QMenu *menu)
将menu作为子菜单添加到该菜单中。它返回菜单的menuAction()。此菜单不拥有菜单的所有权。
QMenu *addMenu(const QString &title)
QMenu *addMenu(const QIcon &icon, const QString &title)
向菜单追加一个带有图标icon和标题title的新QMenu。菜单拥有菜单的所有权。返回新菜单。
QAction *addSection(const QString &text)
QAction *addSection(const QIcon &icon, const QString &text)

创建一个新的部分action,即QAction::isSeparator() 返回true,也有文本 text 和图标 icon 提示的操作,

并将这个新action添加到该菜单的操作列表中。它返回新创建的操作。提示的呈现依赖于风格和平台。控件样式可以在呈现部分时使用文本和图标信息,或者可以选择忽略它们并像简单的分隔符一样呈现部分。
QAction *addSeparator()
创建一个新的分隔符操作,即QAction::isSeparator() 返回true的操作,并将该新action添加到该菜单的操作列表中。它返回新创建的action。 QMenu拥有返回的QAction的所有权。
voidclear()
移除菜单的所有操作。菜单拥有且未在任何其他控件中显示的action将被删除。
QAction *defaultAction() const
返回当前默认action。
QAction *exec()

同步执行此菜单。 这相当于 exec(pos())。 这将在弹出菜单或其子菜单中返回触发的QAction,如果没有触发任何项目,则返回nullptr(通常是因为用户按了Esc)。 在大多数情况下,您需要自己指定位置,例如,当前鼠标位置:

exec(QCursor::pos());

或者与控件对齐:

exec(somewidget.mapToGlobal(QPoint(0,0)));

或者是对某个事件的反应QMouseEvent *e:

exec(e->globalPos());
QAction *exec(const QPoint &p, QAction *action = nullptr)

重载。同步执行该菜单。 弹出菜单,以便操作动作 action 位于指定的全局位置p。要将控件的本地坐标转换为全局坐标,请使用 QWidget::mapToGlobal()。 这将在弹出菜单或其子菜单中返回触发的QAction,如果没有触发任何项目,则返回nullptr(通常是因为用户按了Esc)。 请注意,所有信号都照常发出。如果您将一个QAction连接到一个插槽并调用菜单的exec(),您将通过信号插槽连接和exec()的返回值获得结果。

常见用法同上一函数。使用exec()或popup()定位菜单时,请记住不能依赖菜单的当前size()。出于性能原因,菜单仅在必要时调整其大小。所以在很多情况下,显示前后的大小是不同的。相反,使用sizeHint()根据菜单的当前内容计算适当的大小。

voidhideTearOffMenu()
该功能将强制隐藏撕下的菜单,使其从用户桌面上消失。
QIconicon() const
返回菜单的图标。
QAction *insertMenu(QAction *before, QMenu *menu)
在 action之前插入menu,并返回菜单的menuAction()。
QAction *insertSection(QAction *before, const QString &text)
QAction *insertSection(QAction *before, const QIcon &icon, const QString &text)

创建一个新的标题action,即QAction::isSeparator()返回true并且有文本和图标提示的action。

该函数将新创建的action插入到此菜单的action列表中的before动作之前并返回它。 提示的呈现依赖于样式和平台。控件样式可以在呈现部分时使用文本信息,或者可以选择忽略它并像简单的分隔符一样呈现部分。 QMenu拥有返回的QAction的所有权。
QAction *insertSeparator(QAction *before)
创建一个新的分隔符action,即QAction::isSeparator()返回true的操作。该函数将新创建的action插入到此菜单的action列表中的动作之前并返回它。 QMenu拥有返回的QAction的所有权。
boolisEmpty() const
如果菜单中没有插入可见action,则返回true,否则返回false。
boolisTearOffEnabled() const
返回菜单是否支持被撕下。
boolisTearOffMenuVisible() const
当菜单被撕下时,会出现第二个菜单,在新窗口中显示菜单内容。当菜单处于此模式并且菜单可见时,返回true否则为假。
QAction *menuAction() const
返回与此菜单关联的action。
voidpopup(const QPoint &p, QAction *atAction = nullptr)
显示菜单,使动作atAction位于指定的全局位置p 。要将控件的本地坐标转换为全局坐标,请使用QWidget::mapToGlobal()。 使用exec() 或 popup()定位菜单时,请记住不能依赖菜单的当前size()。出于性能原因,菜单仅在必要时调整其大小,因此在许多情况下,显示前后的大小是不同的。相反,使用 sizeHint()根据菜单的当前内容计算适当的大小。
boolseparatorsCollapsible() const
设置是否折叠连续的分隔符。
voidsetActiveAction(QAction *act)
设置突出显示的action为act。
voidsetAsDockMenu()
设置dock菜单。仅在macOS上可用。
voidsetDefaultAction(QAction *act)
设置默认action为act。
voidsetIcon(const QIcon &icon)
设置图标。
voidsetSeparatorsCollapsible(bool collapse)
设置是否折叠连续的分隔符。
voidsetTearOffEnabled(bool)
设置菜单是否支持被撕下。
voidsetTitle(const QString &title)
设置标题。
voidsetToolTipsVisible(bool visible)
设置菜单actions的工具提示。
voidshowTearOffMenu(const QPoint &pos)
强制显示撕下的菜单,使其出现在用户桌面上指定的全局位置pos。
voidshowTearOffMenu()
重载。 该功能将强制显示撕下的菜单,使其出现在用户桌面的鼠标光标下。
QStringtitle() const
返回标题。
NSMenu *toNSMenu()
返回此菜单的本机NSMenu。仅在macOS上可用。
booltoolTipsVisible() const
工具提示是否可见。

【受保护的公有成员】

virtual QSizesizeHint() const override
重新实现属性的访问函数:QWidget::sizeHint。

【信号】

voidaboutToHide()该信号在菜单对用户隐藏之前发出。
voidaboutToShow()该信号在菜单显示给用户之前发出。
voidhovered(QAction *action)当菜单操作被突出显示时发出此信号;action是导致发出信号的操作。这通常用于更新状态信息。
voidtriggered(QAction *action)

当该菜单中的某个操作被触发时,将发出该信号。 action是导致发出信号的操作。 通常,您会将每个菜单操作的 triggered() 信号连接到其自己的自定义插槽,但当您有一组密切相关的操作时,您会希望将几个操作连接到单个插槽。

注意:该信号是针对层次结构中的主父菜单发出的。因此,只有父菜单需要连接到插槽;子菜单不需要连接。


【静态公有成员】

QAction *exec(const QList<QAction *> &actions, const QPoint &pos, QAction *at = nullptr, QWidget *parent = nullptr)

重载。同步执行菜单。

菜单的操作由操作列表actions指定,菜单将弹出以便执行指定操作。如果未指定at,则菜单出现在位置pos。parent 是菜单的父部件;当pos本身不足以决定菜单的位置时(例如,多个桌面或当父菜单嵌入在QGraphicsView中时),指定父菜单将提供上下文背景。

该函数返回弹出菜单或其中一个子菜单中触发的QAction,如果没有触发任何项目,则返回nullptr(通常是因为用户按了Esc)。

参见 : popup() and QWidget::mapToGlobal()。

QMenu *menuInAction(const QAction *action)
返回action包含的菜单,如果action不包含菜单,则返回nullptr。 在widget应用程序中,包含菜单的action可用于创建带有子菜单的菜单项,或插入工具栏以创建带有弹出菜单的按钮。

【受保护成员】

intcolumnCount() const
如果一个菜单不适合屏幕,它会自动布局以适合屏幕。布局的含义取决于样式(例如,在Windows上它将使用多列)。 该函数返回所需的列数。
virtual voidinitStyleOption(QStyleOptionMenuItem *option, const QAction *action) const
使用此菜单中的值和action中的信息初始化option。当子类需要QStyleOptionMenuItem,但不想自己填写所有信息时,此方法非常有用。

【重实现的保护成员】

参见父类【< QWidget】

virtual voidactionEvent(QActionEvent *e) override
virtual voidchangeEvent(QEvent *e) override
virtual voidenterEvent(QEnterEvent *) override
virtual boolevent(QEvent *e) override
virtual boolfocusNextPrevChild(bool next) override
virtual voidhideEvent(QHideEvent *) override
virtual voidkeyPressEvent(QKeyEvent *e) override
virtual voidleaveEvent(QEvent *) override
virtual voidmouseMoveEvent(QMouseEvent *e) override
virtual voidmousePressEvent(QMouseEvent *e) override
virtual voidmouseReleaseEvent(QMouseEvent *e) override
virtual voidpaintEvent(QPaintEvent *e) override
virtual voidtimerEvent(QTimerEvent *e) override
virtual voidwheelEvent(QWheelEvent *e) override

<<< 返回上一级【QWidget】  

<<< 返回根页面

【QT开发】菜单控件QMenu类详解及实战应用 QMenu是 Qt 提供的一个功能强大且灵活的菜单控件,通过本篇文章的学习,你应该对QMenu有了全面的理解,能够在自己的项目中正确使用它。菜单在用户界面中帮助你更好地组织和管理用户操作入口,有助于创建用户友好和高效的界面。 阅读详情

相关推荐

QT——5.2右键菜单栏的设计:练习使用QContextMenuEvent、QMenu、QAction类

【目的】:右键点击,出现菜单栏,并执行“另存为”和“启动记事本”功能,这里右击主要使用QContextMenuEvent事件,右键菜单使用QMenu、QAction类进行设计。 【方法】: 1、添加需要的头文件(小技巧:.h和.cpp的切换用F4,提高效率) //右键动作 #include &lt;QContextMenuEvent&gt; //用于产生右键事件 #include &lt...

数字世界 万物互联 2510

Qt扫盲-QMenu理论总结

QMenu其实就是菜单控件,菜单控件本质上就是一个选择项目。它可以是菜单栏中的下拉菜单,也可以是独立的上下文菜单。当用户单击相应的位置或按下指定的快捷键时,下拉菜单由菜单栏显示。使用QMenuBar::addMenu()向菜单栏插入一个菜单。当然菜单同样也是可以嵌套使用,也就是按钮里面嵌套按钮的。样子就像这种单层菜单还有嵌套的菜单。

洪源兄 5690

实战指南:从零搭建ROS2 + Cartographer 2D激光SLAM系统

本文详细介绍了如何从零开始搭建ROS2与Cartographer结合的2D激光SLAM系统,涵盖环境准备、激光雷达驱动配置、Cartographer安装与参数调优等关键步骤。通过实战案例和常见问题解决方案,帮助开发者快速掌握激光雷达建图技术,提升机器人自主导航能力。

weixin_29062255的博客 403

Qt应用开发(基础篇)——菜单 QMenu

QMenu类继承于QWidget,它提供了一个菜单样式的小部件,用于菜单栏、上下文菜单和一些弹出式菜单。QMenu菜单的选项是可选的,它可以是一个下拉的菜单,也可以是独立的上下文菜单。下拉菜单通常作用于当用户单击相应的项目或按下指定的快捷键时,使用QMenuBar::addMenu()将菜单插入到菜单栏中,菜单栏将显示下拉菜单。上下文菜单通常通过一些特殊的键盘键或右键来调用。它们可以用popup()异步执行,也可以用exec()同步执行。当然菜单也可以在一些触发事件中调用,比如按下按钮时。QMenu。

波塞冬的博客 8888

DP_AUX辅助通道介绍

DisplayPort(简称DP)是一个由PC及芯片制造商联盟开发,视频电子标准协会(VESA)标准化的数字式视频接口标准。其中辅助通道(AUX)是一条独立双向半双工的传输通道,它也是一对差分信号线。其数据传输速率1Mbps,用来传输配置参数与指令。

cjie221的博客 5353

基于STM32设计的校园智慧路灯系统(华为云IOT)(212)

当前设计并研发了基于STM32的智慧路灯系统,本系统的目的是打造一个高效节能、智能化管理的校园照明环境。通过集成STM32F103RCT6高性能微控制器为核心,结合多种传感器模块如BH1750光敏传感器、热释电人体感应模块以及中科微电子GPS模块等,实现了对校园路灯的精准控制与实时监控。

5137

QMenu

一、描述 QMenu 类提供了菜单小部件。 二、属性成员 1、icon : QIcon 菜单的图标。这等效于 menuAction() 的 QAction::icon 属性。 2、separatorsCollapsible : bool 连续分隔符是否应在视觉上折叠为单个分隔符,菜单开头或结尾的分隔符也被隐藏。 默认为 true。 3、tearOffEnabled : bool 菜单是否可脱离。默认为 false。 hideTearOffMenu() 将强制隐藏脱离的菜单,

友善啊,朋友的博客 7259

Python 爬虫实战:医学临床指南爬取(含 PDF 解析与结构化存储)

在当今数字化时代,医学临床指南作为医生进行科学诊疗的重要参考资料,包含大量经过临床验证的诊疗路径和建议。这些指南通常发布在权威医学网站上,数量庞大且更新频繁。如何自动化地抓取并存储这些指南,成为医疗数据分析、医学研究以及医疗 AI 模型训练等工作的关键第一步。本文将系统讲解如何利用 Python 爬虫技术从权威医学网站爬取临床指南内容,并实现 PDF 解析与结构化存储。

u014481728的博客 449

第三篇 Qt QMenu 右击显示菜单 和 删除所有控件的子控件(两个方法)

QMenu 中插入 QFrame 或者 QWidget 这里QFrame。方法一 : 通过遍历子控件的方法删除。删除所有控件的子控件(两个方法)方法二:删除布局管理器中的控件。

P15050251827的博客 622

MIL图像处理那些事:MIL的安装和MIL工具箱

MIL图像处理那些事:MIL的安装和测试,如何用C#使用MIL

十多年IT经验,专注机器视觉,智能制造半导体行业 5274

[系统安全] 十六.PE文件逆向基础知识(PE解析和PE编辑工具)

您可能之前看到过我写的类似文章,为什么还要重复撰写呢?只是想更好地帮助初学者了解病毒逆向分析和系统安全,更加成体系且不破坏之前的系列。因此,我重新开设了这个专栏,准备系统整理和深入学习系统安全、逆向分析和恶意代码检测,“系统安全”系列文章会更加聚焦,更加系统,更加深入,也是作者的慢慢成长史。换专业确实挺难的,逆向分析也是块硬骨头,但我也试试,看看自己未来四年究竟能将它学到什么程度,漫漫长征路,偏向虎山行。享受过程,一起加油~ 作者前面介绍了三个漏洞,包括Chrome浏览器保留密码渗透解析、通过Chrome浏

杨秀璋的专栏 1万+

【Qt 菜单和二级菜单的加入和删除】

QMenu *MainMenu = new QMenu(this); QAction *option = new QAction(MainMenu); ... actionList<<option... MainMenu->addActions(actionList); QMenu *childMenu = new QMenu(); QAction *childact = new QAction(childMenu); ....

qq_31761199的博客 2956

《YOLOv12魔术师专栏》专栏介绍 & 专栏目录

《YOLOv12魔术师专栏》专栏介绍 & 专栏目录

①答疑群聊服务;②YOLO大模型知识问答系统;③计算机视觉论文生成智能体; 5059

QMenu类详细介绍

QMenu是 PyQt5 中用于创建的组件,常见于菜单栏的下拉选项、右键上下文菜单或按钮的关联菜单。它支持多级子菜单、图标、快捷键、分隔符等功能,是构建用户交互的重要工具。

wanglaqqqq的博客 944

K8S搭建(centos)完整版

每个人都有惰性,但不断学习是好好生活的根本,共勉!

感谢阅读 4147

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

详解QMenu类的使用

是 Qt 框架中的一个类,用于创建弹出式菜单,常用于应用程序的右键上下文菜单、工具栏按钮下拉菜单、主菜单栏等场景。的基础使用和一些进阶功能,包括创建菜单、添加菜单项、设置属性、关联信号与槽以及查询菜单项状态等。

简介 1564

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

qt中QMenu类的setPalette方法

中,从而控制菜单的各种视觉效果,如背景色,文本颜色,焦点颜色等。对象,并设置了背景颜色为黑色,文本颜色为白色。对象,表示要设置的颜色。在上述例子中,我们设置了背景颜色(的一个枚举值,表示要设置颜色的组件,第二个参数是。方法来一次性为所有组件设置背景颜色和文本颜色。方法是Qt库中用于设置菜单颜色的一种方法。类提供了对颜色、笔刷等的低级控制,它是。在上述例子中,我们首先创建了一个。方法来为所有组件设置颜色。方法接受两个参数,第一个参数是。在这个例子中,我们使用了。方法将我们之前创建的。

m0_71266578的博客 765

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

基本Widgets(29):【类】QMenu [官翻]

文章目录详细说明操作(Actions)基于Cocoa的Qt构建macOS上的QMenu属性公共函数构造和析构属性相关活动和默认操作位置上的操作和操作的几何大小添加操作项增加子菜单增加部分增加分割线分离式菜单清空显示macOS相关重写的公共函数信号静态的公共函数受保护的函数重写的受保护的函数相关代码参考 QMenu Class QMenu类提供了一个用于菜单栏、上下文菜单和其他弹出菜单的菜单小部件。 Header #include < QLineEdit > qmake QT

读书笔记 1486

【Qt】自定义QMenu类并绑定槽函数

大多数情况下,直接在QWidget类的函数中写以下代码,即可添加菜单,绑定slots函数。// Widget.h 文件中private:// Widget.cpp文件中但我在我的小项目(塔奇克马AI网)中,需要多次用到菜单栏来展现我集成的各种小工具和游戏。因此可能导致菜单功能多,且在多个其它窗口中需要频繁使用。我决定将菜单栏独立出来,便于代码可读性和易修改。具体思路:定义自己的MyMenu类,继承于QMenu。

qq_47461884的博客 742

QMenu类传递被触发的QAction

如何传递QMenu中被触发的QAction? 今天在网山查找了很多资料也没有找到满意的,然后在帮助文档发现,QAction类是没有传递QAction的信号的,而QMenu是有的。 是以下函数 具体使用是:(直接附上代码) connect(m_furtherMenu,SIGNAL(triggered(QAction*)),SLOT(slotResponse(QAction*)...

weixin_42546737的博客 1580

Qt中如何在QMenu菜单类中创建子菜单

QMenu* menu = new QMenu("0"); QAction* action1 = new QAction("1"); QAction* action2 = new QAction("2"); QMenu* menu1 = new QMenu("3"); menu1-&gt;addActio...

qq_36484196的博客 7624

qmenu基本用法_QMenu类(老九学堂C++会员友情翻译,不喜勿喷)

QMenuProperties属性• icon : QIcon该属性保存菜单图标这等效于menuAction()的QAction :: icon属性默认情况下,如果未明确设置任何图标,则此属性包含一个空图标。访问函数QIcon icon() constvoid setIcon(const QIcon &icon)• separatorsCollapsible : bool...

weixin_36390615的博客 3109

Qt之【直接点击Qmenu类的对象 实现程序退出或关闭功能】

Qt之【直接点击Qmenu类的对象 实现程序退出和关闭功能】前言如何实现?细节解释 前言 在使用Qt开发MainWindow界面是,想在MenuBar下创建一个Qmenu类的对象,直接点击Qmenu类即可实现退出程序的功能。 如何实现? Qmenu类下有一个信号为 aboutToShow,该信号在Qmenu展开时触发。 思路:可以创建一个Qmenu,下面不放置任何QAction,使用connect函数将Qmenu的aboutToSh.

面包不要的博客 2692

Qt常用基础控件总结—菜单控件(QMenu类)

QMenu 是Qt库中用于创建弹出式菜单的类,它通常出现在应用程序的顶部菜单栏、按钮的右键菜单或自定义上下文菜单中。QMenu 类提供了一系列方法来添加菜单项、子菜单以及关联槽函数,以便在用户选择菜单项时执行相应的动作。使用 exec(QPoint globalPos) 弹出菜单并等待用户选择一个项,然后返回被选中项的 QAction 对象指针。通过关联槽函数到 triggered(QAction *) 信号,可以在用户选择菜单项时执行相应操作。//在菜单中添加一个分隔线,用于区分不同的菜单项组。

qq_37464701的博客 808

qt QMenu详解

QMenu是Qt框架中的一个类,用于创建和管理菜单。它提供了丰富的接口来添加菜单项(通常是QAction对象)、子菜单以及分隔符。QMenu可以嵌入到菜单栏(QMenuBar)中,也可以作为弹出菜单(通过调用exec()方法)使用。QMenu支持嵌套菜单,即菜单项本身可以是一个子菜单,从而创建出复杂的菜单结构。QMenu不仅支持文本菜单项,还支持图标、快捷键和状态提示等功能,这些都可以通过QAction来设置。

ckg3824278的博客 1430
上一篇: QChildEvent类
下一篇: QLayoutItem类
floatbit
博客等级 码龄24年 460粉丝 47原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值