Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Не срабатывает QEvent::MouseButtonRelease
Форум на CrossPlatform.RU > Библиотеки > Qt > Qt Общие вопросы
legat
Пытаюсь выполнить некоторые действия для переопределённого QTextEdit для событий QEvent::MouseButtonRelease и QEvent::KeyRelease.
Далее см. код:
bool TableTextEdit::eventFilter( QObject *target, QEvent *event ) {

    if ( event->type( ) == QEvent::MouseButtonRelease || event->type( ) == QEvent::KeyRelease ) {
        ...
        return true;
    }
    return QWidget::eventFilter( target, event );

}

Срабатывает только для QEvent::KeyRelease. Клики мыши игнорируются.
Конечно, можно использовать конструкцию
void TableTextEdit::mouseReleaseEvent( QMouseEvent *event ) {...}
.
Но интересно, почему не срабатывает фильтр.
abc
устанавливать фильтр нужно не на сам текстэдит, а на:
ui->textEdit->viewport()->installEventFilter(this);

если просто на текстэдит, релизэвент будет ловиться, но на кромке текстэдита, потыкай)
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.