Qt如何让按钮的菜单出现在按钮的右侧

news2024/11/24 4:50:55

直接上代码,我们用到了一个eventfilter的函数功能。这个函数比较厉害和重要,大家务必经常拿出来看看。

dfcb71e19c374bdf8880e482d7d3d83e.png

 

void MainWindow::initMenu()
{
    QMenu* menuLiXiang = new QMenu;
    QAction* actXiangMuZhangCheng = new QAction("项目章程");
    menuLiXiang->addAction(actXiangMuZhangCheng);

    ui->btnLiXiang->setMenu(menuLiXiang);

    ui->btnLiXiang->setArrowType(Qt::RightArrow);
 

    menuLiXiang->installEventFilter(this);

 

}

bool MainWindow::eventFilter(QObject * obj, QEvent *event)
{
    if (event->type() == QEvent::Show && obj == ui->btnLiXiang->menu())
    {
        QPoint pos = ui->btnLiXiang->mapToGlobal(ui->btnLiXiang->rect().topRight());

        ui->btnLiXiang->menu()->move(pos);
        return true;
    }
    return false;
}

 

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

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

相关文章

cocos入门4:项目目录结构

Cocos Creator 项目结构教程 Cocos Creator 是一个功能强大的游戏开发工具,它为开发者提供了直观易用的界面和强大的功能来快速创建游戏。在使用 Cocos Creator 开发游戏时,合理地组织项目结构对于项目的可维护性和扩展性至关重要。以下是一个关于如何设…

新一代企业共享服务中心,开启企业智慧管理决策新纪元

随着数字化浪潮加速来袭,企业面临着与以往全然不同的挑战与机遇。 业务与人员的增长致使服务请求与日俱增,业务类型愈加复杂,大量来自不同业务线的服务请求使内部服务压力增加。业务激增后只得依赖更多资源投入,势必掣肘服务效率。…

Nvidia/算能 +FPGA+AI大算力边缘计算盒子:医疗健康智能服务

北京天星医疗股份有限公司(简称“天星医疗”)作为国产运动医学的领导者,致力于提供运动医学的整体临床解决方案,公司坐落于北京经济技术开发区。应用于肩关节、膝关节、足/踝关节、髋关节、肘关节、手/腕关节的运动医学设备、植入物和手术器械共计300多个…

Postgresql源码(135)生成执行计划——Var的调整set_plan_references

1 总结 set_plan_references主要有两个功能: 拉平:生成拉平后的RTE列表(add_rtes_to_flat_rtable)。调整:调整前每一层计划中varno的引用都是相对于本层RTE的偏移量。放在一个整体计划后,需要指向一个统一…

Cochrane Library循证医学数据库的介绍及文献下载

今天要讲的数据库是Cochrane Library循证医学数据库,我们先来了解一下该数据库: Cochrane Library是国际Cochrane Collaboration的主要产品,由英国Wiley InterScience公司出版发行。是一个提供高质量证据的数据库,是循证医学的证…

如何把试卷上的字去掉再打印?分享三种方法

如何把试卷上的字去掉再打印?随着科技的不断发展,现代教育和学习方式也在逐渐变革。在学习过程中,我们经常需要对试卷进行整理和分析,以便更好地掌握知识点和复习。然而,传统的试卷整理方法往往效率低下且容易出错。幸…

前端实现大文件分片并行上传、断点续传、秒传(完整解析)

一、总体流程图 二、具体步骤 简单理解:前端先将文件切割多份,在进行上传,由后端进行切片合并操作。 具体逻辑: 1. 前端选中上传文件(如果是批量上传就把选中的文件存入选中文件列表数组中,后续在遍历上…

java版CRM客户关系管理系统源码:CRM客户关系管理系统的功能详解

CRM客户关系管理系统是一款功能全面的客户管理工具,旨在帮助企业和销售团队提高客户管理效率,优化销售流程。该系统包含多个模块,覆盖了从线索到回款的全流程管理,为用户提供了一个集成化的客户关系管理平台。 一、待办事项模块&a…

Python 技巧分享:NEF 文件的元数据提取

介绍 随着摄影技术的不断发展,NEF 文件作为尼康相机的 RAW 格式文件,因其包含丰富的图像数据和元数据,备受摄影爱好者和专业摄影师的青睐。提取 NEF 文件中的元数据对照片管理、分析及处理具有重要意义。本文将介绍如何使用 Python 技术&…

nltk报错Error loading stopwords: <urlopen error [Errno 11004]

最佳解决方案是手动下载并安装 nltk 数据。这里是详细步骤,确保每一步都能正确执行: 步骤 1: 手动下载 stopwords 数据集 下载 stopwords 数据集: 打开浏览器,访问以下链接下载 stopwords 数据集: stopwords.zip 解…

sap 应用日志-Application Log

文章目录 sap 应用日志-Application Log概念事务代码函数创建程序显示配置文件运行结果弹出式全屏式 程序剖析清空日志创建日志模拟数据添加日志消息显示日志BAL_DSP_LOG_DISPLAY-显示内存消息 全部程序 sap 应用日志-Application Log 概念 SAP 应用日志(Applicat…

【亚马逊云科技 CSDN 联合巨献】 「对话AI 构建者:从基础到应用的 LLM 全景培训」 限时免费!

🚀🌟【亚马逊云科技 & CSDN 联合巨献】 📚「对话AI 构建者:从基础到应用的 LLM 全景培训」🔥 限时免费! 📆 抓紧时间!6月7日前注册,原价 399,现在仅需 0…

网络编程(五)

网络编程(五) 网络服务器超时检测使用select进行超时检测套接字属性**getsockopt:获取socket软通道的某项属性值**setsockopt:设置socket软通道的某项属性值**(socket建立之后就可使用) 信号**signal():信号处理函数se…

【Python】搭配 Python 环境(超详细教程)

要想能够进行 Python 开发,就需要搭建好 Python 的环境。 需要安装的环境主要是两个部分: 运行环境:Python 开发环境:PyCharm 一、安装 Python 1、找到官方网站 Welcome to Python.org 在搜索引擎中搜索 python 关键字&…

【WP】猿人学13_入门级cookie

https://match.yuanrenxue.cn/match/13 抓包分析 抓包分析发现加密参数是cookie中有一个yuanrenxue_cookie 当cookie过期的时候&#xff0c;就会重新给match/13发包&#xff0c;这个包返回一段js代码&#xff0c;应该是生成cookie的 <script>document.cookie(y)(u)(a…

Linux环境---在线安装jdk

Linux环境—在线安装jdk 一、使用步骤 1.安装环境 JDK版本&#xff1a;1.8 1.1 建立存放软件的目录 注意&#xff1a;此处本人是将需要按照的软件存放在directory目录下&#xff0c;可根据实际情况调整接收路径。 命令如下&#xff1a; mkdir directory2.安装jdk 2.1 建…

vscode设置代码自动换行显示

☆ 问题描述 vscode设置代码自动换行显示 ★ 解决方案 ✅ 总结

深入理解mysql中的各种超时属性

1. 前言 connectTimeout: 连接超时 loginTimeout: 登录超时 socketTimeout: Socket网络超时&#xff0c;即读超时 queryTimeout: sql执行超时 transactionTimeout:spring事务超时 innodb_lock_wait_timeout:innodb锁等待超时 wait_timeout:非交互式连接关闭前的等待时间 inter…

TMC5160步进电机驱动芯片

TMC5160步进电机驱动芯片 特点和优势静止态自动降电流stealthChop2 & spreadCycle 驱动stealthChop2 & spreadCycle 驱动1.7 stallGuard2 – 机械负载传感1.8 coolStep –负载自适应电流控制1.9 dcStep –负载相关速度控制1.10 编码器接口 TMC5160工作模式模式 1&#…

wireshark 二次开发

一、 Windows 准备 1、源代码下载 Git&#xff1a;https://github.com/wireshark/wireshark 2、 准备Visual C 要编译wireshark&#xff0c;开发电脑上应该安装了Visual Studio并包括了Visual C&#xff0c;请至少安装Visual Studio 2010以减少不必要的麻烦。 visual studio …