Java教程

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

本文主要是介绍实现控件不响应鼠标点击事件,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

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

这篇关于实现控件不响应鼠标点击事件的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!