crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )


  Ответ в Не срабатывает QEvent::MouseButtonRelease
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
 

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
abc Дата 22.3.2011, 21:03
  устанавливать фильтр нужно не на сам текстэдит, а на:
ui->textEdit->viewport()->installEventFilter(this);

если просто на текстэдит, релизэвент будет ловиться, но на кромке текстэдита, потыкай)
legat Дата 22.3.2011, 19:16
  Пытаюсь выполнить некоторые действия для переопределённого 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 ) {...}
.
Но интересно, почему не срабатывает фильтр.
Просмотр темы полностью (откроется в новом окне)
RSS Текстовая версия Сейчас: 25.4.2024, 15:01