| Название: Tab в QTableWidget Отправлено: alex-v от Февраля 22, 2011, 17:40 Есть таблица QTableWidget с количеством столбцов и строк [N x M]. Когда на клаве нажимаем Tab, то фокус бегает слева направо по ячейкам строки и затем сверху вниз по следующим строкам. Как сделать, чтобы при нажатии на Tab фокус перемещался строго по одной колонке сверху вниз? Название: Re: Tab в QTableWidget Отправлено: Пантер от Февраля 22, 2011, 17:44 Читай в ассистенте про installEventFilter Название: Re: Tab в QTableWidget Отправлено: alex-v от Февраля 22, 2011, 17:52 Почитал. Разобрался. Тока, получается, мне фильтровать ничего не нужно. Мне надо перенаправить фокус сверху вниз (по одному столбцу), а не как сейчас - слева направо по горизонтали. Название: Re: Tab в QTableWidget Отправлено: alex-v от Февраля 22, 2011, 18:02 т.е. как запретить фокус для одних ячеек таблицы, и разрешить их для других? Название: Re: Tab в QTableWidget Отправлено: Kolobok от Февраля 22, 2011, 18:19 Как сделать, чтобы при нажатии на Tab фокус перемещался строго по одной колонке сверху вниз? Можно наследоваться от QTableWidget и переопределить moveCursor(...). т.е. как запретить фокус для одних ячеек таблицы, и разрешить их для других? QTableWidgetItem::setFlags ( Qt::ItemFlags flags ) Название: Re: Tab в QTableWidget Отправлено: alex-v от Февраля 22, 2011, 18:27 Можно наследоваться от QTableWidget и переопределить moveCursor(...). Думал об этом. При этом таблицу придётся создавать программно. А нужно бы иметь возможность её редактировать в дизайнере. QTableWidgetItem::setFlags ( Qt::ItemFlags flags ) Смотрел. Нету там флага для запрета фокуса. Название: Re: Tab в QTableWidget Отправлено: alex-v от Февраля 22, 2011, 19:02 хм... видимо больше нету выхода, кроме как создать таблицу программно.... Название: Re: Tab в QTableWidget Отправлено: Kolobok от Февраля 22, 2011, 19:38 Можно наследоваться от QTableWidget и переопределить moveCursor(...). Думал об этом. При этом таблицу придётся создавать программно. А нужно бы иметь возможность её редактировать в дизайнере. Связи не вижу. Смотрел. Нету там флага для запрета фокуса. Qt::ItemIsSelectable разве не оно? Название: Re: Tab в QTableWidget Отправлено: alex-v от Февраля 22, 2011, 19:58 Цитировать Связи не вижу.эх :) ... оказывается в дизайнере есть функция "Преобразовать в...". Это в корне меняет дело. Цитировать Qt::ItemIsSelectable разве не оно?Не. Пробовал. На фокус это не влияет. Тока на то - будет ли ячейка выделена синим фоном или нет в фокусе. Вообщем проблема решена путём: Цитировать Можно наследоваться от QTableWidget и переопределить moveCursor(...). Всем спасибо. |