Использование Qt 4.6.3 в Linux / X11.
У меня есть виджет QTreeView, который использует QStandardItemModel в качестве модели, с 4 столбцами и сотнями строк. Большинство элементов в списке должны отображаться стандартным цветом, но некоторые должны быть другого цвета. Я могу легко изменить цвета этих нескольких элементов с помощью QStandardItem :: setForeground ().
Однако это влияет только на цвет элемента, когда он выбран , а не . Когда я выбираю цветной элемент, его цвет фона меняется на синий (что в порядке), а цвет текста меняется на белый (что не в порядке). Я попытался с помощью таблицы стилей повлиять на цвет переднего плана выбранных элементов (с селектором QTreeView :: item: selected), но это затронуло все элементов.
Я бы хотел, чтобы элементы, для которых я назвал item->setForeground(Qt::red)
, оставались красными, даже когда они выбраны, и другие элементы, чтобы использовать набор цветов по умолчанию (что они уже делают). Как это можно сделать?