在QWidget上安装EventFilter(qt4.4.3/kde4)

Gia*_*rlo 5 qt kde widget event-handling

我有一个K*窗口,在其中,需要过滤事件的窗口小部件.

例如,我不想点击它的可能性......

我怎样才能做到这一点?

我有没有使用eventfilters?在这种情况下,最好的方法是什么?


但我的问题是我无法子类化我的小部件,因为它是一个TerminalInterface-> widget(),而不是像其他人一样的对象:\

小智 2

除了第一个答案中的 setEnabled 大锤方法之外,还有其他两种方法,其中之一是使用事件过滤器。

另一种方法是对小部件进行子类化,然后重新实现鼠标*事件等。只需将它们留空即可防止任何鼠标交互。所以:

MyWidget : public QSomeWidget { Q_OBJECT public: MyWidget(QWidget *parent);

protected: void mousePressEvent(QMouseEvent *) {} .. 等等 .. };