Распространение событий в Qt - PullRequest
13 голосов
/ 09 мая 2011

У меня есть только документация по системе событий Qt и QEvent класс .Меня интересует поведение метода QObject::event().В документации говорится:

Эта виртуальная функция получает события для объекта и должна возвращать true, если событие e было распознано и обработано.

Какое поведение ожидается при false возвращается из метода event()?Что еще делается для того, чтобы обработать событие?Событие автоматически пересылается в родительский объект?

Примечание : я знаю, что источник доступен, и у меня есть копия.В идеале я ищу какую-то документацию, касающуюся этого поведения.

1 Ответ

6 голосов
/ 10 мая 2011

Я считаю, что лучше всего явным образом перенаправлять события в метод событий базового класса, если вы не хотите фильтровать этот тип события (например, return QObject::event(event);), поскольку функция события делегирует события определенным обработчикам (например, QWidget::keyPressEvent).

QCoreApplication :: notify распространяет события на основе возвращаемого значения. На true оно считает событие использованным и останавливается. В противном случае событие передается родителю объекта. Для получения дополнительной информации см. События и фильтры и Другой взгляд на события .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...