Qt4ライブラリを勉強していて、プロジェクトのすべての子にQWidget
いくつかの機能を追加したいと思います。すべてのウィジェットをmousePressEvent
オーバーライドする必要があります。明らかに、私が使用するすべての特定のウィジェットでそれをオーバーライドする必要はありません(私はそれらの多くFoo
を使用し、DRYルールに従います)、代わりにクラスを作成します:
class Foo : public QWidget
{
Q_OBJECT
protected:
/* implementation is just a test */
virtual void mousePressEvent(QMouseEvent*) { this->move(0,0); }
};
そしてそれから私のボタンを導き出します:
class FooButton : public QPushButton , public Foo
{
public:
FooButton (QWidget* parent) : QPushButton(parent) { };
};
しかし、イベントはオーバーライドされていないようです...私は何が間違っているのですか?前もって感謝します。