crossplatform.ru

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

 
Ответить в данную темуНачать новую тему
> Не срабатывает QEvent::MouseButtonRelease
legat
  опции профиля:
сообщение 22.3.2011, 19:16
Сообщение #1


Студент
*

Группа: Новичок
Сообщений: 10
Регистрация: 8.8.2010
Пользователь №: 1940

Спасибо сказали: 0 раз(а)




Репутация:   0  


Пытаюсь выполнить некоторые действия для переопределённого 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
  опции профиля:
сообщение 22.3.2011, 21:03
Сообщение #2


Участник
**

Группа: Участник
Сообщений: 221
Регистрация: 16.12.2010
Из: СПб
Пользователь №: 2272

Спасибо сказали: 26 раз(а)




Репутация:   4  


устанавливать фильтр нужно не на сам текстэдит, а на:
ui->textEdit->viewport()->installEventFilter(this);

если просто на текстэдит, релизэвент будет ловиться, но на кромке текстэдита, потыкай)

Сообщение отредактировал abc - 22.3.2011, 21:07
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 16.4.2024, 13:46