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

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

 

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

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

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

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

 

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

 

Qt::WA_TransparentForMouseEvents的解释为:如果参数为true,鼠标事件就无法响应当前的widget以及其子类,
并且鼠标事件会被传递给其他窗体。
至此,一开始的问题也就完美解决了!

 

posted @ 2019-10-31 17:52  寅鸷  阅读(2040)  评论(0编辑  收藏  举报