Название: Делегат для QTableWidget Отправлено: aliks-os от Октябрь 29, 2010, 09:18 Создал делегат для QTableWidget, основные процедуры приведены ниже
Код: QWidget* BtnDelegate::createEditor(QWidget *parent, const QStyleOptionViewItem& /* option */, const QModelIndex &/* index */) const { Проблема в том, что при входе в режим редактирования, мне необходимо что фокус был в QLineEdit и весь текст, который находится в нем был выделен. Пробовал сделать через setFocus() и selectAll() но ничего не получилось Название: Re: Делегат для QTableWidget Отправлено: nitro2005 от Октябрь 29, 2010, 09:36 Сталкивался с такой проблемой, решал созданием потомка от QWidget, которому переопределял focusInEvent() и которому сразу давал нужных детей.
Но потом отказался от таких сложностей и извращений :) createEditor только создает виджет, но он еще не visible, поэтому фокуса на этот момент иметь не может. Название: Re: Делегат для QTableWidget Отправлено: aliks-os от Октябрь 29, 2010, 09:53 createEditor только создает виджет, но он еще не visible, поэтому фокуса на этот момент иметь не может. Я знаю, туда вставил на всякий случай :) Название: Re: Делегат для QTableWidget Отправлено: GreatSnake от Октябрь 29, 2010, 12:11 Не нужно выставлять фокус и выделять - Qt сам всё это сделает - достаточно выставить фокус прокси:
editor->setFocusProxy( dd ) Название: Re: Делегат для QTableWidget Отправлено: aliks-os от Октябрь 29, 2010, 13:36 Спасибо! То что надо!
|