QT как обработать событие нажатия кнопки из внешнего класса C ++

Я хочу написать внешний класс C ++ под названием «buttonHandler», который поддерживает специально событие нажатия кнопки в Qt, но я не знаю, как создать жесткую ссылку на объекты (кнопки) из класса «mainContainer» и одновременно обрабатывать их другим классом. Это вообще возможно?

-1

Решение

Я думаю, что вы ищете фильтры событий. В основном у вас есть объект (полученный из 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);
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]