• 微信公众号:美女很有趣。 工作之余,放松一下,关注即送10G+美女照片!

实现控件不响应鼠标点击事件

开发技术 开发技术 7小时前 4次浏览

QT中很多控件都有鼠标点击的事件响应,比如QPushButton,QRadioButton。有时候我们想要实现的是:当鼠标点击控件时,不会产生响应事件。其中的一种方法是使用Qt::WA_TransparentForMouseEvents。

官方对Qt::WA_TransparentForMouseEvents的说明为

When enabled, this attribute disables the delivery of mouse events to the widget and its children. Mouse events are delivered to other widgets as if the widget and its children were not present in the widget hierarchy; mouse clicks and other events effectively “pass through” them. This attribute is disabled by default.

大概的意思是当使能Qt::WA_TransparentForMouseEvents时,鼠标事件就不会传送到该控件及子控件,而是会传到其他的不包含该控件的widget上,这样的话其实就是实现了鼠标穿透的功能。

实现代码

ui->radioButton->setAttribute(Qt::WA_TransparentForMouseEvents, true);
使radioButton控件不响应鼠标点击事件。
原文链接:https://blog.csdn.net/qiufenpeng/article/details/81745266


程序员灯塔
转载请注明原文链接:实现控件不响应鼠标点击事件
喜欢 (0)