qt实现锁屏功能,就像我们在使用视频软件的时候,会有一个锁的图标,点击后屏幕就不会被误触。
我想要实现的功能是:在点击了右下角的锁的图标之后,界面上的内容就不能点击了,也就是点击关闭是没有响应的,这样就可以防止误操作。
一开始我的想法是怎样去禁用掉radiobutton按钮,百度到的资料多是关于怎样使用事件过滤eventfilter来过滤事件,但是如果我需要禁用的东西
不只一两个的话就显得非常棘手!
所以最简便的处理方法是,鼠标事件让父窗口响应,这里使用的是setAttribute
如果被锁住,就将需要禁用的界面转移属性就行了
Qt::WA_TransparentForMouseEvents的解释为:如果参数为true,鼠标事件就无法响应当前的widget以及其子类,
并且鼠标事件会被传递给其他窗体。
至此,一开始的问题也就完美解决了!