qt實現鎖屏功能,就像我們在使用視頻軟件的時候,會有一個鎖的圖標,點擊后屏幕就不會被誤觸。
我想要實現的功能是:在點擊了右下角的鎖的圖標之后,界面上的內容就不能點擊了,也就是點擊關閉是沒有響應的,這樣就可以防止誤操作。
一開始我的想法是怎樣去禁用掉radiobutton按鈕,百度到的資料多是關於怎樣使用事件過濾eventfilter來過濾事件,但是如果我需要禁用的東西
不只一兩個的話就顯得非常棘手!
所以最簡便的處理方法是,鼠標事件讓父窗口響應,這里使用的是setAttribute
如果被鎖住,就將需要禁用的界面轉移屬性就行了
Qt::WA_TransparentForMouseEvents的解釋為:如果參數為true,鼠標事件就無法響應當前的widget以及其子類,
並且鼠標事件會被傳遞給其他窗體。
至此,一開始的問題也就完美解決了!