qt实现锁屏功能,即点击锁屏按钮后再点击界面则无效

qt实现锁屏功能,就像我们在使用视频软件的时候,会有一个锁的图标,点击后屏幕就不会被误触。

我想要实现的功能是:在点击了右下角的锁的图标之后,界面上的内容就不能点击了,也就是点击关闭是没有响应的,这样就可以防止误操作。

一开始我的想法是怎样去禁用掉radiobutton按钮,百度到的资料多是关于怎样使用事件过滤eventfilter来过滤事件,但是如果我需要禁用的东西

不只一两个的话就显得非常棘手!

所以最简便的处理方法是,鼠标事件让父窗口响应,这里使用的是setAttribute

 如果被锁住,就将需要禁用的界面转移属性就行了

Qt::WA_TransparentForMouseEvents的解释为:如果参数为true,鼠标事件就无法响应当前的widget以及其子类,
并且鼠标事件会被传递给其他窗体。
至此,一开始的问题也就完美解决了!
原文地址:https://www.cnblogs.com/jiguang321/p/11772756.html