Подтвердить что ты не робот

Распространение событий в Qt

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

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

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

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

4b9b3361

Ответ 1

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

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