Как установить цвет фона и переднего плана строки QTableWidget Элемент вертикального заголовка

Я пытаюсь установить цвет фона и переднего плана QTableWidgetItem это элемент вертикального заголовка в строке моего QTableWidget, Следующий код не работает для QTableWidgetItem это вертикальный элемент заголовка, хотя тот же код хорошо работает для QTableWidgetItem это обычная клетка.

Я использую Qt 4.8 на Fedora 17 x64 Gnome 3.4

static const QBrush AddedCellBackground = Qt::yellow;
static const QBrush AddedCellForeground = Qt::red;

void rowSelected()
{
QTableWidgetItem *vertHeadItem = _getSelectedItemVerticalHeader();
vertHeadItem->setForeground( AddedCellForeground );
vertHeadItem->setBackground( AddedCellBackground );
}

Этот код не вносит изменений, когда vertHeadItem является вертикальным элементом заголовка, но он имеет желаемый эффект, когда это обычная ячейка. Как я могу установить фон и передний план вертикального элемента заголовка?

0

Решение

Я думаю, что вы можете легко ориентироваться на определенные элементы, зная, что это «AccessibleName», вы можете попробовать это:

QTableWidgetItem#YourAccessibleName {

/* style definitions */

}
0

Другие решения

В вопросе Можно ли изменить цвет метки строки QTableWidget? о той же теме, но для PyQt мое решение было получить QTableWidgetItem вертикального заголовка и установите фон и передний план там, однако был изменен только передний план, фон оставался плавным серым градиентом. Вероятно, стиль переопределял / игнорировал фон. Задание другого стиля (например, Cleanlooks) исправило его.

Так что добавьте что-то вроде в конструкцию виджета таблицы

QTableWidget::verticalHeader().setStyle(QStyleFactory::create("CleanLooks"))
0

По вопросам рекламы [email protected]