Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: mokynis от Сентябрь 06, 2018, 12:24



Название: пропадает сетка tableView при установке eventFilter
Отправлено: mokynis от Сентябрь 06, 2018, 12:24
Приложение MDI, Запускаю форму-subWindow с tableView на ней. Все нормально. Хочу добавитьреакцию таблицы на нажатие F5-много раз такое проделывал, но не в MDI, наверное, тут и проблема. В форма.h добавляю bool eventFilter(QObject*, QEvent*);
в форма.cpp - ui->tabTov->viewport()->installEventFilter(this); и, собственно, описание фильтра (просто return true;)
Открываю приложение-форма с таблицей на месте, только таблица с пустыми строками, хотя строки явно есть и при нажатии на номер строки все происходит, как и должно быть при выборе строки (выводится сопутствующая информация)
Подскажите, пожалуйста, где я накосячил?
(QT4,Debian)


Название: Re: пропадает сетка tableView при установке eventFilter
Отправлено: kambala от Сентябрь 06, 2018, 13:42
просто return true;
это означает, что ты «съедаешь» все события вьюпорта. true надо возвращать только для F5 в QEvent::KeyPress, а для всех остальных — <super>::eventFilter(o, e)


Название: Re: пропадает сетка tableView при установке eventFilter
Отправлено: mokynis от Сентябрь 06, 2018, 15:20
спасибо! Это я на автомате написал и в упор не видел, пока разбирался.