python - 在 Pyqt/PySide 中如何在 TableView 的单元格中设置不同的颜色

标签 python qt pyqt pyside

我从数据库获取数据并将其显示在 TableView 上。

在一个单元格中,某些关键字应该对用户来说更加明显,例如警告关键等。

我知道如何更改整个单元格单词的字体颜色,但我们只需要将其中的一些变为红色即可。

例如

警告:您的试用期仅剩20

警告字样和数字 20 应为红色,其他字样应为黑色。

如何做? 非常感谢。

最佳答案

您需要使用 model对于您的 TableView ,它为角色 ForegroundRole 的某些单元格返回红色前景色。 。像这样的东西:

class MyModel(QtCore.QAbstractTableModel):

    def data(self, index, role):
        if index.isValid():
            if role == QtCore.Qt.ForegroundRole and condition_for_red_color:
                return QtGui.QBrush(...)

关于python - 在 Pyqt/PySide 中如何在 TableView 的单元格中设置不同的颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16394459/

相关文章:

python - PySide 中出现 "QTimeLine already running"消息的原因是什么?

python - 如何对 Pandas 的多索引进行分组?

python - 使用多个源列扩展 Pandas DataFrame

python - 基于中间层输出的 Keras 指标

python - 如何从内存中解码jpg图像?

c++ - 我的Qt程序可以编译,但是在声明中使用ifstream时崩溃

c++ - 在 main.cpp 之外创建一个类以使用 QtQuick2ApplicationViewer 的正确方法是什么?

python - PyQt 优雅的命令行参数解析

c++ - Qt JSON – 从子项查询

python - 使用 QWebView 请求的 POST 请求