QT 鼠标移到按钮上,就弹出对话框,移开,对话框就消失

    我们在做项目的时候,有一个这样的需求,就是一个按钮,鼠标放上去之后,就会弹出一张图片,鼠标移开,图片就消失。

比如这样的按钮,

鼠标放上去之后,就会弹出对话框



该怎么做呢?

其中,

1.那个带图标的按钮, 其实是个QToolButton, 可以设置前面图标,后面文字。

2.使用QLabel 显示图片

 
    m_pStandardLabel = new QLabel(this);QPixmap pixmap(qApp->applicationDirPath() + "/scoreStandard.png");m_pStandardLabel->setPixmap(pixmap);m_pStandardLabel->resize(619, 471);m_pStandardLabel->hide();

3.安装事件过滤器(需要给QToolButton 和显示图片的QLabel都要安装)

    ui->scoreStandardBtn->installEventFilter(this);m_pStandardLabel->installEventFilter(this);

4.重写事件过滤器

bool eventFilter(QObject *watched, QEvent *event);
bool QcTaskDetailForm::eventFilter(QObject *watched, QEvent *event)
{if(ui->scoreStandardBtn == watched || m_pStandardLabel == watched) {if(QEvent::Enter == event->type()) {            //鼠标进入if (m_pStandardLabel->isHidden()) { //已经隐藏就显示出来m_pStandardLabel->show();QPoint point = ui->scoreStandardBtn->pos();point.rx() = point.x() -  m_pStandardLabel->width() + 120;point.ry() = point.y() + ui->scoreStandardBtn->height() + 40;m_pStandardLabel->move(point);m_pStandardLabel->raise();//显示最顶层return true;}}else if (QEvent::Leave == event->type()) { //鼠标离开if (!m_pStandardLabel->isHidden()) {if(!ui->scoreStandardBtn->geometry().contains(this->mapFromGlobal(QCursor::pos())) //判断鼠标是否在控件上&&!m_pStandardLabel->geometry().contains(this->mapFromGlobal(QCursor::pos())) ){m_pStandardLabel->hide();return true;}}}}return QWidget::eventFilter(watched, event);
}


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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何通过Google学术快速获取参考文献引用格式-2021年

通过Google学术快速获取参考文献引用格式 首先,利用浏览器(最好是Google浏览器)打开Google学术,下面是链接: https://scholar.google.com/ 若是没有fan-qiang的话可以百度搜索Google学术镜像来使用Google学术。 然…

LaTeX 使用 bib 管理参考文献时,引用网络资源 URL 导致排版难看的问题

是在今天写工作报告的时候,需要引用参考文献,以前的工作报告都没有用过参考文献,所以现学了的,稍稍总结一下: 我是通过在文章最后添加下面命令添加参考文献的,其中文献引用风格文件 chinesebst2005_UTF8.bs…

LaTex 参考文献不显示,出现问号

参考文献不显示这件事太让人崩溃了,而且我还竟然经常遇到这种问题,幸运的是终于找到解决办法啦!!!特别简单 使用快捷键F6,F8,F6,F6就可以了 快捷键被其他占用,可以直接去点击按钮。 看完记得点赞&#xf…

解决Latex中参考文献没有引用却依然在出现的问题

工具: bib文件、bibtex和TeXStudio 正常情况下,如果在文章中删除了对某篇文献的引用,那么它即使存在于bib文件中,也不会在论文中显示出来。但是在使用中可能会遇到这样的问题:参考文献没有引用却依然在出现。 解决方…

Texstudio参考文献出现问号怎么办

先把文献写进去,然后点工具->清理辅助文件,然后编译一次,点工具->参考文献,最后再编译两遍。

Latex的\cite后面的参考文献显示问号 [?]

我用的是texlive2017-20170524光盘映像文件安装的TeXworks.模板使用的是IEEE trans。每次编译时都是选择的用pdfLaTeX编译,但是这样在参考文献处会出错。 当我需要在文中插入参考文献时,按照网上的方法,创建bib文件,然后在latex中…

Endnote引用中文、英文参考文献方法(不用手敲中文文献信息)

目录 引用英文参考文献 插入中文参考文献格式 导入出错的解决方案 引用英文参考文献 打开知网的官网,选择想要导出成endnote格式的文献(在文献前面打√,即为选中状态),在导出与分析-导出文献-endnote,即…

LaTeX参考文献引用显示?问号解决办法!!!!

在使用Latex之前,我们一般会借用已有的论文模板,在模板基础上加入我们自己的文章内容,随后编译成PDF文件,其基本流程就是:Latex->Bibtex->Latext->Latex。 1、第一步点击Latex编译,可以获得*.aux…

endnote的参考文献没有journal信息的解决【实测成功】

仅作为记录,大佬请跳过。 修改endnote的endnote import,将%B改为%J即可。 文章目录 步骤endnote中:Edit——Import Filters——Open Filter Manager——找到Endnote Import——Edit——templates——journal article——修改成%J 参考 步骤 …

#华为推送# 电商应用如何提高用户购买率?推送服务助您一臂之力,现在接入更有专人为您解决技术问题

新用户留存率、复购率低? 如何提高用户活跃和留存? 缺乏有效触达用户的渠道? 如何精准触达用户? …… 在电商行业高速发展过程中,APP运营无法避免上述问题。 结合华为推送功能,我们希望与您分享电商推送方案…

跨境电商如何充分利用 WhatsApp提供优质客户服务?

关键词:跨境电商客服、WhatsApp客服 WhatsApp在国外相当于我们的WeChat——全球用户都用它来发送和接收来自朋友、家人和同事的消息,用户基数非常庞大。WhatsApp每月有20 亿活跃用户,因此可以访问大量受众。 这些优势使很多跨境电商卖家对它…

微信聊天记录导出

本文将介绍如何将微信聊天记录导出为结构化数据 所需材料 一部已经root的安卓手机带GPU的Linux电脑 整体流程如下: 数据库文件提取 使用RE管理器,在已经root的安卓手机上,找到如下文件:/data/data/com.tencent.mm/MicroMsg/[…

Telnet使用pop读取邮件

前提 由于SMTP是一个推协议,这就使得在接受客户端无法使用SMTP来读取邮件。目前常用的读取邮件的协议有:POP3(第三版邮局协议),IMAP(因特网邮件访问协议)和HTTP(超文本传输协议),今天就使用POP3来读取邮件服务器上的邮件。 步骤 …

PHP使用IMAP读取邮箱收邮件

<?php//连接企业微信邮箱 imap 服务器 $imapPath "{imap.exmail.qq.com:993/imap/ssl}INBOX"; $username kevlinaaa.com; $password aa; //这个密码是下图所设置的//打开连接 $inbox imap_open($imapPath, $username, $password) or die(Cannot connect to E…

清华可穿戴智能喉登Nature子刊,实测准确率90%+,网友:@李雪健老师

丰色 发自 凹非寺量子位 | 公众号 QbitAI 将一块仅硬币大小的圆片&#xff0c;贴在喉咙处&#xff0c;嗓子有问题的人就可以重获新“声”了。 这是清华大学发表在Nature子刊上的最新研究成果&#xff0c;一个用石墨烯材料做成的可穿戴喉咙。 △ Nature Machine Intelligence&am…

iPhone7无服务问题解决方案-越狱绕过手机激活

iPhone7无服务问题解决方案-越狱绕过手机激活TOC 下载爱思助手&#xff0c;数据线连接开机手机 步骤一&#xff1a;电脑上下载爱思助手 步骤二&#xff1a;开机状态数据线连接电脑 步骤三&#xff1a;☑️勾选连接后自动激活设备&#xff0c;跳过激活 步骤四&#xff0c;选择…

解决Data source rejected establishment of connection, message from server: “Too many connections“的错误

文章目录 1. 复现错误2. 分析错误3. 解决问题4. 补充说明 1. 复现错误 今天在启动项目后&#xff0c;控制台却报出如下错误&#xff1a; java.sql.SQLNonTransientConnectionException: Data source rejected establishment of connection, message from server: "Too m…

consul注册中心服务All service checks failing及解决

文章目录 consul注册中心服务All service checks failing问题一&#xff1a;能注册&#xff0c;有报错&#xff0c;中间件不可用问题二&#xff1a;能注册&#xff0c;没报错&#xff0c;通不过检查问题三&#xff1a;同一个服务&#xff0c;注册了很多次 consul注册中心服务Al…

(unknown location)问题解决方法

遇到这样的问题&#xff0c;就去在这里插入图片描述 [anaconda文件夹找到sklearn包&#xff0c;卸载&#xff0c;重装一下就OK。

错误 “Avoided redundant navigation to current location...” 的解决方案

当 vue 项目中使用 vue-router 的 编程式导航 写法进行路由切换时&#xff1a; // Search/index.vue <button click"goSearch" v-model"keyword">搜索</button> //按钮绑定事件&#xff0c;切换路由methods: {goSearch() {this.$router.push…