我想写一个名为“buttonHandler”的外部C ++类,它在Qt中特别支持按钮单击事件,但我不知道如何从“mainContainer”类创建指向对象(按钮)的硬链接同时由另一个班级处理它们。这甚至可能吗?
答案 0 :(得分:0)
我认为您正在寻找event filters。基本上你有一个对象(派生自QObject
)监听到其他对象的事件。它被称为之前对象处理自己的事件。一个简单的例子:
bool ButtonPressHandler::eventFilter(QObject* obj, QEvent* event) {
if (obj == the_main_container && event->type() == QEvent::MousePress) {
/* do what ever you have to do */
return true; // true to stop processing events, false to forward the event
}
return false;
}
在您的代码的某处,您可以链接两者:
the_main_container->installEventFilter(the_button_press_handler);