#qt #pyqt #pyqt5
#qt #pyqt #pyqt5
Вопрос:
В QTableWidgetItem есть метод для установки фонового цвета ячейки в таблице, но нет метода для установки цвета текста этой ячейки.
Как мне изменить цвет текста произвольной ячейки в a QTableWidget
?
Изменить цвет текста во всех ячейках так же просто, как использовать эту таблицу стилей.
QTableWidget::item {
color: red;
}
Но поскольку API находится на уровне QTableWidget (а не на уровне QTableWidgetItem), я считаю невозможным настроить таргетинг на отдельные ячейки.
Комментарии:
1. используйте
QItemDelegate
и изменяйте цвет ячейки по индексу модели
Ответ №1:
Вызывается метод setForeground()
(не уверен, как я его пропустил). Не уверен, как это сделать только в CSS.
Код:
item = QTableWidgetItem('text')
item.setForeground(QBrush(QColor(0, 255, 0)))
Комментарии:
1. Вы наконец нашли способ сделать это с помощью таблицы стилей (qss)? Я хочу оформить элемент / строку в соответствии с его содержимым.
Ответ №2:
Я знаю, что прошло некоторое время, но вы могли бы попробовать:
QTableWidget::item:selected { color:red; }
Ответ №3:
электронная таблица класса: общедоступный QTableWidget
{ Q_OBJECT
public://
Spreadsheet(const QString amp;fileName = QString(),
QWidget *parent = 0);
QString currentLocation() const;
QString currentFormula() const;
void clear();
QTableWidgetSelectionRange selectedRange() const;
bool load(const QString amp;fileName = QString());
bool save(const QString amp;fileName = QString());
void printHtml(const QString amp;html);
public slots://
void selectCellFont();
void selectFontColour();
// etc