设置 QTableWidgetItem (Qt) 的文本颜色

7

QTableWidgetItem有一个设置表格单元格背景颜色的方法,但没有设置单元格文本颜色的方法。

我如何更改QTableWidget中任意单元格的文本颜色?

更改所有单元格中文字的颜色只需使用此样式表即可简单完成。

QTableWidget::item {
    color: red;
}

但由于API位于QTableWidget级别(而不是QTableWidgetItem级别),我发现无法针对单个单元格进行操作。


使用 QItemDelegate 并通过模型索引更改单元格颜色。 - Simon
3个回答

18

这种方法被称为setForeground()(不确定我为什么错过了它)。但是我不确定如何仅使用CSS来完成。

代码:

item = QTableWidgetItem('text')
item.setForeground(QBrush(QColor(0, 255, 0)))

你最终找到了使用样式表(qss)的方法吗?我想根据其内容为项目/行设置样式。 - David Gagnon

2

我知道已经有一段时间了,但你可以尝试:

QTableWidget::item:selected { color:red; }

0

类 Spreadsheet:公共 QTableWidget

{ Q_OBJECT

public://

Spreadsheet(const QString &fileName = QString(),
            QWidget *parent = 0);
QString currentLocation() const;
QString currentFormula() const;

void clear();
QTableWidgetSelectionRange selectedRange() const;
bool load(const QString &fileName = QString());
bool save(const QString &fileName = QString());
void printHtml(const QString &html);


public slots:// 

void selectCellFont();
void selectFontColour();

// 等等


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接