![](/img/trans.png)
[英]Problem with QVariant/QTreeWidgetItem/iterator on qt4.4.3
[英]install EventFilter on QWidget (qt4.4.3/kde4)
我有一個K *窗口,在其中,需要過濾事件的窗口小部件。
例如,我不想點擊它的可能性......
我怎樣才能做到這一點?
我有沒有使用eventfilters? 在這種情況下,最好的方法是什么?
但我的問題是我無法子類化我的小部件,因為它是一個TerminalInterface-> widget(),而不是像其他人一樣的對象:\\
除了第一個答案中的setEnabled大錘方法外,還有另外兩種方法,其中一種方法是使用eventfilters。
另一種是子窗口小部件,然后重新實現鼠標*事件。 簡單地將它們留空將阻止任何鼠標交互。 所以:
MyWidget:public QSomeWidget {Q_OBJECT public:MyWidget(QWidget * parent);
protected:void mousePressEvent(QMouseEvent *){} .. etc ..};
QWidget有一個enabled
屬性。 只需調用widget->setEnabled(false)
,這將阻止它接受鼠標點擊。 它也可能會修改它的外觀:例如, QPushButton
將變灰。
事件過濾器聽起來像是你想要的過度殺戮。
看起來像eventFilter()
就是你想要的。
以下是討論它的Qt文檔部分: 事件過濾器
基本上,您必須創建一個繼承QObject
的類,然后實現虛函數eventFilter()
。 然后使用過濾器作為參數調用要過濾的對象上的installEventFilter()方法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.