【已解决】qt死活不响应鼠标移动到按钮事件

news2024/11/28 3:31:17

本博文源于笔者正在研究的内容,这个问题大概捣鼓了一个下午,问题是这样子:我有一个按钮,我应用程序运行时,我鼠标放到按钮上,按钮就会被填充图标。怀揣着这样一个想法,我搜啊搜,整啊整,最后成功解决,并将结果分享到这里。

方法1:stylesheet

这个方法我是失败的,我提一嘴,大概思路就是为QPushButton装一个stylesheet,里面放着hover,代码是这样子的

#include <QApplication>
#include <QPushButton>

int main(int argc, char *argv[]) {
    QApplication a(argc, argv);

    QPushButton btn;
    int buttonSize = 100;
    btn.setFixedSize(buttonSize, buttonSize);
    btn.setObjectName("MyButton");
    btn.setStyleSheet("#MyButton:hover {border-image: url(:/images/sys_max.png);}");

    btn.show();

    return a.exec();
}

我的回答是,我用了这个很失败

方法2:entered信号槽事件

这个方法是,将按钮的信号与槽绑定,然后进行编写函数,具体代码应该是这样子的

connect(ui.MaxBtn_2, SIGNAL(entered()), this, SLOT(onBtnMoveEnter()));

然后再事件中定义QIcon

ui.button->setIcon(QIcon("a.png"));

我的回答是,我用了这个很失败

方法3:定义监听事件

在.h文件里,定义这样语句监听事件
在这里插入图片描述
然后在控件里,定义监听事件

	ui.MaxBtn_2->installEventFilter(this);

然后写监听事件

bool test::eventFilter(QObject *obj, QEvent *event)
{
    switch (event->type()) {
    case QEvent::HoverEnter:
        if(obj == button3)
            button3->setIcon(QIcon(":/listBar_Icon/add_hover.png"));
        break;
    case QEvent::HoverLeave:
        if(obj == button3)
            button3->setIcon(QIcon(":/listBar_Icon/add.png"));
        break;
    case QEvent::MouseButtonPress:
        if(obj == button3)
            button3->setIcon(QIcon(":/listBar_Icon/add_pressed.png"));
        break;
    case QEvent::MouseButtonRelease:
        if(obj == button3)
            button3->setIcon(QIcon(":/listBar_Icon/add_hover.png"));
        break;
    default:
        break;
    }
    return QWidget::eventFilter(obj, event);
}

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

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

相关文章

探讨基于IEC61499 的分布式 ISA Batch 控制系统

ISA SP88 是批次过程控制的标准&#xff0c;对应的IEC标准是IEC 61512。该标准中一个重要的部分是配方管理&#xff08;Recipe Management&#xff09;。 所谓配方&#xff0c;是根据批量产品的要求&#xff0c;材料设定加工工艺&#xff0c;加工流程和参数。类似于传统制造业的…

IntelliJ IDEA使用——Debug操作

文章目录 版本说明图标和快捷键查看变量计算表达式条件断点多线程调试 版本说明 当前的IntelliJ IDEA 的版本是2021.2.2&#xff08;下载IntelliJ IDEA&#xff09; ps&#xff1a;不同版本一些图标和设置位置可能会存在差异&#xff0c;但应该大部分都差不多。 图标和快捷键…

STM32单片机——看门狗(独立看门狗窗口看门狗)

STM32单片机——看门狗&#xff08;独立看门狗&窗口看门狗&#xff09; 独立看门狗&#xff08;IWDG&#xff09;独立看门狗本质相关概念独立看门狗实验CubeMX工程配置HAL库程序设计固件库程序设计 窗口看门狗&#xff08;WWDG&#xff09;独立看门狗本质相关概念窗口看门狗…

购物H5商城架构运维之路

一、引言 公司属于旅游行业&#xff0c;需要将旅游&#xff0c;酒店&#xff0c;购物&#xff0c;聚合到线上商城。通过对会员数据进行聚合&#xff0c;形成大会员系统&#xff0c;从而提供统一的对客窗口。 二、业务场景 围绕更加有效地获取用户&#xff0c;提升用户的LTV&a…

mysql 半同步复制模式使用详解

目录 一、前言 二、mysql主从架构简介 2.1 mysql主从复制架构概述 2.2 为什么使用主从架构 2.2.1 提高数据可用性 2.2.2 提高数据可靠性 2.2.3 提升数据读写性能 2.3 主从架构原理 2.4 主从架构扩展 2.4.1 双机热备&#xff08;AB复制&#xff09; 2.4.2 级联复制 2…

驱动开发,基于中断子系统完成按键的中断驱动,引入中断底半部

一.引入linux内核中断目的 引入linux内核中断之前&#xff0c;内核访问设备要不断轮询访问&#xff1b; 引入linux内核中断便于内核对设备的访问&#xff0c;当设备事件发生后主动通知内核&#xff0c;内核再去访问设备&#xff1b; 二.linux内核中断实现过程框图 根据软…

STM32F103RCT6学习笔记2:串口通信

今日开始快速掌握这款STM32F103RCT6芯片的环境与编程开发&#xff0c;有关基础知识的部分不会多唠&#xff0c;直接实践与运用&#xff01;文章贴出代码测试工程与测试效果图&#xff1a; 目录 串口通信实验计划&#xff1a; 串口通信配置代码&#xff1a; 测试效果图&#…

2007-2021年31省市财政环保支出占比数据(含原始数据+计算过程+测算结果)

2007-2021年31省市财政环保支出占比数据&#xff08;含原始数据计算过程测算结果&#xff09; 1、时间&#xff1a;2007-2021年 2、来源&#xff1a;整理自国家统计局和统计年鉴 3、指标&#xff1a;财政环境保护支出、财政一般预算支出、环保支出占比 4、计算公式&#xf…

【jmeter】jmeter引用变量,变量值传递失败

最近在用jmeter做接口测试的时候&#xff0c;发现有个变量&#xff0c;参数值一直没有传递进来&#xff0c;导致request的时候&#xff0c;请求体里面一直是${}变量的形式。 后来经过排查发现&#xff0c;是因为我在定义用户变量的时候&#xff0c;在这个now后面多加了一个空格…

leetcode25 K个一组反转链表

题目 给你链表的头节点 head &#xff0c;每 k 个节点一组进行翻转&#xff0c;请你返回修改后的链表。 k 是一个正整数&#xff0c;它的值小于或等于链表的长度。如果节点总数不是 k 的整数倍&#xff0c;那么请将最后剩余的节点保持原有顺序。 你不能只是单纯的改变节点内部…

【SMBghost CVE-2020-0796漏洞复现】

目录 一、漏洞原理 二、复现过程 三、防护 一、漏洞原理 最近在做内网渗透的时候发现一大批可以利用的win系统资产&#xff0c;其中这些资产中对于445的开放限制不多&#xff1b;对于smb3.1版本的window系统存在可被利用的漏洞&#xff0c;即永恒之黑漏洞。SMBv3.1没有正确处…

Python爬虫:动态获取页面

动态网站根据用户的某些操作产生一些结果。例如&#xff0c;当网页仅在向下滚动或将鼠标移动到屏幕上时才完全加载时&#xff0c;这背后一定有一些动态编程。当您将鼠标指针悬停在某些文本上时&#xff0c;它会为您提供一些选项&#xff0c;它还包含一些动态.这是是一篇关于动态…

problen(5)ubuntu版本问题

浅浅记录一下这段时间的血和泪吧&#xff0c;大概耗时快一个月了吧&#xff0c;终于解决了...... 因为需要开启pwn之旅&#xff0c;需要在Ubuntu上安装一些东西&#xff0c;就是下面的一条命令&#xff1a; sudo pip3 install pwntools -i Simple Index&#xff08;显示不太好了…

mybatis-plus报错:Invalid bound statement (not found)

mybatis报错&#xff1a;Invalid bound statement (not found)的原因很多&#xff0c;但是正如报错提示一样&#xff0c;找不到xml中的sql语句&#xff0c;报错的情况分为三种&#xff1a; 第一种&#xff1a;语法错误 Java DAO层接口 public void delete(Param("id&qu…

网站登录界面制作(three.js 3D特效背景)+ boostrap导航栏实现 + jQuery移动窗口【附加源代码】

网站登录界面制作&#xff08;three.js 3D特效背景&#xff09; boostrap导航栏实现 文章目录 网站登录界面制作&#xff08;three.js 3D特效背景&#xff09; boostrap导航栏实现前言登录界面效果图主页面效果图&#xff1a;主页面源代码 前言 学过Web前端的许多小伙伴都会面…

计算机三级信息安全技术九十道选择题

1、Windows7操作系统中&#xff0c;配置IPSec时支持的身份验证方法不包括 A、Kerberos协议 B、 数字证书 C、预共享密钥 D、 会话密钥 答案&#xff1a; D 解析&#xff1a; 2、企业销售商用密码产品时&#xff0c;应向国家密码管理机构申请&#xff0c;必需具备的条件是…

MHA、MQA、GQA区别和联系

2023 年7月&#xff0c;Meta发布了其最新版本LLaMA 2&#xff0c;其中 LLama2 的注意力机制使用了GQA&#xff0c;那么什么是GQA呢&#xff1f;和标准的MHA有什么区别呢&#xff1f;关于 LLM 更多信息&#xff0c;可参考笔者文章&#xff1a;AIGC入门 - LLM信息概览 本文将介绍…

携手并进 | 云畅科技与华商智造院签署战略合作协议

9 月 15 日&#xff0c;云畅科技与华商智造院的签约仪式顺利举行&#xff0c;湖南华商智造院董事长郭平、湖南华商智造院董事兼副总经理秦宇琳、湖南华商智造院湘江新区总经理郭蕊、云畅科技董事长兼 CEO 蔡鑫莹、云畅科技联合创始人兼 CMO 徐智峰等出席活动&#xff0c;共同见…

Kafka 杂谈

概览 什么是 Kafka&#xff1f; 这里先给出结论&#xff0c;我不太希望在解释概念 X 的时候&#xff0c;说到「为了了解 X&#xff0c;我们需要先了解一下 Y」&#xff0c;阅读的人思绪会被迁到另一个地方。既然小标题里说了要解释什么是 Kafka&#xff0c;那么我们就只说什么…