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

菜单控件QMenu

QMenu 是Qt库中用于创建弹出式菜单的类,它通常出现在应用程序的顶部菜单栏、按钮的右键菜单或自定义上下文菜单中。QMenu 类提供了一系列方法来添加菜单项、子菜单以及关联槽函数,以便在用户选择菜单项时执行相应的动作。

常用函数如下:

构造函数:

QMenu(const QString &title, QWidget *parent = nullptr); 创建带有标题的菜单,父窗口用于确定菜单所在的上下文。

QMenu(QWidget *parent = nullptr)

添加菜单项:

addAction(QAction *);//添加一个 QAction 对象到菜单中。

addMenu(QMenu *);//添加一个子菜单到当前菜单。

addSeparator();//在菜单中添加一个分隔线,用于区分不同的菜单项组。

事件处理:

通过关联槽函数到 triggered(QAction *) 信号,可以在用户选择菜单项时执行相应操作。

显示菜单:

  • 使用 exec(QPoint globalPos) 弹出菜单并等待用户选择一个项,然后返回被选中项的 QAction 对象指针。

  • 使用 popup(QPoint pos) 直接在指定的位置弹出菜单,不阻塞程序执行。

相关推荐
星栈独行2 小时前
翻完 Pi 源码:它和 Codex、Claude Code 有何不同
开发语言·javascript·人工智能·程序人生
qq_448011162 小时前
C语言中的变量和函数的定义与声明
android·c语言·开发语言
孫治AllenSun4 小时前
【DataX】生产环境搭建DataX集群案例
java·开发语言·jvm
c238565 小时前
把 C++ 内存分配拆透:new 与 malloc 的三层血缘
开发语言·c++·算法
moonsims5 小时前
星闪在跨域无人化系统作用
开发语言·php
Iruoyaoxh6 小时前
栈和队列~
java·开发语言
Hrain-AI6 小时前
2026 企业 AI 编程智能体实战:Codex 与 Claude Code
开发语言·人工智能·kotlin
wdfk_prog7 小时前
嵌入式面试真题第 13 题:单硬件 Timer 下的高精度多路软件定时器架构设计
c语言·开发语言·面试·职场和发展·嵌入式
oort1237 小时前
吃上了自家的细糠,还挺丝滑,用起来手感还行,OortCloud发布新版AI编程平台,下载 OortCodex,Token多,免费薅
大数据·开发语言·人工智能·ai编程
slandarer7 小时前
MATLAB | 泰勒图绘制,支持各种角度范围
开发语言·数学建模·matlab·nature·顶刊·泰勒图