吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1163|回复: 8
收起左侧

[求助] QT Widget 鼠标点击问题

[复制链接]
隐藏英雄 发表于 2023-1-10 01:03
新建一个工程, 添加3个Widget 控件,分别为,红色,黄色,绿色,怎么才能实现鼠标点击黄色 qDebug() << "我是黄色"      鼠标点击绿色qDebug() << "我是绿色"  鼠标点击红色 qDebug() << "我是红色"
QQ图片20230110010312.png


发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

水木杉 发表于 2023-1-10 08:53
可以写一个类继承QWidget,再重写mouseReleaseEvent 事件,可看这个博客:https://blog.csdn.net/u012587637/article/details/106948769
Xw丶小威 发表于 2023-1-10 09:32
要么继承重写鼠标事件,要么用已有的QPushButton修改样式 border:none ;background-color:red;  然后connect
 楼主| 隐藏英雄 发表于 2023-1-10 10:09
本帖最后由 隐藏英雄 于 2023-1-10 10:13 编辑
水木杉 发表于 2023-1-10 08:53
可以写一个类继承QWidget,再重写mouseReleaseEvent 事件,可看这个博客:https://blog.csdn.net/u01258763 ...
直接按照博客的鼠标事件进行操作的话 ,主窗口点击任何地方包括3种颜色的widget 都会相应鼠标点击事件,不能区分点击的是哪个。
如果有很多个颜色的话  那是不是要写很多个鼠标事件,  可以只写一个鼠标事件,点击颜色的时候怎么区分是点的哪个widget吗?
 楼主| 隐藏英雄 发表于 2023-1-10 10:11
Xw丶小威 发表于 2023-1-10 09:32
要么继承重写鼠标事件,要么用已有的QPushButton修改样式 border:none ;background-color:red;  然后connec ...

不能使用连接按钮的方式,只能是鼠标点击事件,但是鼠标点击事件怎么区分点击的是哪个widget呢?因为准备在点击颜色的时候还要传参数给这些widget
水木杉 发表于 2023-1-10 10:23
隐藏英雄 发表于 2023-1-10 10:09
直接按照博客的鼠标事件进行操作的话 ,主窗口点击任何地方包括3种颜色的widget 都会相应鼠标点击事件,不 ...

1673317244434.png 你可以试试这个函数,不知道能不能获取到样式表,如果能的话就能判断当前窗口是什么样式了
 楼主| 隐藏英雄 发表于 2023-1-10 10:39
水木杉 发表于 2023-1-10 10:23
你可以试试这个函数,不知道能不能获取到样式表,如果能的话就能判断当前窗口是什么样式了

大佬 我听说 e.sender   可以做到   但是我不知道怎么操作,你这个样式表我也是一脸懵
baozi99 发表于 2023-1-10 11:30
隐藏英雄 发表于 2023-1-10 10:11
不能使用连接按钮的方式,只能是鼠标点击事件,但是鼠标点击事件怎么区分点击的是哪个widget呢?因为准备 ...

QQ截图20230110112729.png
给每个widget 设置setObjectName(const QString &name),然后通过objectName()区分不同的widget。
 楼主| 隐藏英雄 发表于 2023-1-10 13:12
baozi99 发表于 2023-1-10 11:30
给每个widget 设置setObjectName(const QString &name),然后通过objectName()区分不同的widget。

可以 试着写一下 我要实现的主题功能吗,看起来有点难
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 04:46

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表