Qt設定按鈕唯讀,遮蔽滑鼠事件

2021-10-25 18:41:54 字數 581 閱讀 7483

對於按鈕沒有setreadonly()的函式,但是可以換乙個思路:

我們可以通過遮蔽滑鼠事件來達到唯讀的操作。

比如這裡我用radio button當作控制燈,由另乙個push button來控制燈的開關。

給radio button(這裡命名為"light1")乙個屬性設定:

ui-

>light1-

>

setattribute

(qt::wa_transparentformouseevents, qiodevice::readonly)

;//設定按鈕遮蔽滑鼠事件,達到按鈕唯讀的目的

ui->light1-

>

setfocuspolicy

(qiodevice::readonly ? qt::nofocus : qt::strongfocus)

;//這裡當滑鼠放在light1上是沒有焦點策略的,只能通過clickbtn控制了

Qt滑鼠事件

1 滑鼠事件有哪些?預設如何觸發?查文件 查文件,注意mousemoveevent預設是滑鼠按下移動觸發,若要滑鼠移動直接觸發,則需要setmousetraching true 2 預設訊息響應是什麼?如何自定義響應?查文件 繼承過載 3 多個接收者,滑鼠事件預設接收者是誰?如何自定義接收者?缺省會...

Qt滑鼠事件總結

滑鼠按下事件void qwidget mousepressevent qmouseevent event elseif event button qt rightbutton elseif event button qt midbutton 滑鼠移動事件void qwidget mousemovee...

Qt的滑鼠事件

qt裡常用的滑鼠事件有mousepressevent mousemoveevent mousereleaseevent mousedoubleclickevent滑鼠事件方法。void mousepressevent qmouseevent e void mousemoveevent qmousee...