我正在研究Qt4庫,我想在我的項目中爲QWidget
的所有子項添加一些功能。我需要所有小部件覆蓋mousePressEvent
。很顯然,我並不需要重寫它在每一個特定圖標我用(我用他們的許多我,他們遵循DRY規則),而不是我創建了一個Foo
類:向類添加新功能
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) { };
};
但事件似乎沒有被重寫......我做錯了什麼? 在此先感謝。
看起來你正在做的不便錯了!你不應該面對這個問題。爲什麼你需要改變_all_小部件的行爲? – Lol4t0