Qt: фон для QtAbstractItemView (QTableView) при редактировании записи

У меня следующий вопрос. У моего QTableView цвет фона установлен на black, а цвет (содержимого) - на white. Итак, на черном фоне появляется белый текст — вроде все правильно. Однако при редактировании (наборе текста в режиме редактирования) цвет содержимого меняется на черный и становится полностью невидимым из-за черного фона, но редактирование работает нормально. После подтверждения цвет снова становится белым. Как установить белый цвет редактируемого в данный момент текста (желательно через таблицы стилей) или остановить такое изменение в этом случае?


person Community    schedule 09.11.2011    source источник


Ответы (2)


Вы должны использовать состояния :edit-focus и/или :focus в своей таблице стилей.

QTableView:edit-focus {
   // style here
}

Список всех доступных состояний см. здесь.

person pnezis    schedule 09.11.2011
comment
Спасибо за ответ. Ни установка состояний :edit-focus, ни :focus не помогла (даже установка их обоих). Пытался применить их к субуправлению ::item, тоже не работает. - person ; 10.11.2011
comment
Каков ответ на этот вопрос? Столкнувшись с аналогичной проблемой, :edit-focus или :focus не работает должным образом. - person user3393753; 28.08.2015

Настройка палитры наконец-то заработала.

палитра QPalette;

Palette.setColor(QPalette::Text, Qt::white);

qApp->setPalette(палитра);

person user3393753    schedule 28.08.2015