gpt4 book ai didi

c++ - QTableView 根据值更改行颜色

转载 作者:太空狗 更新时间:2023-10-29 20:06:13 26 4
gpt4 key购买 nike

我有一个 QTableView,它是我用我自己的 QAbstractTableModel 子类模型实现的。当行中的一个字段具有特定值时,我希望能够将行颜色更改为红色。我看到很多示例,其中答案是调用模型 setData 并使用 Qt::BackgroundRole 更改背景颜色。由于我对 AbstractTableModel 进行了子类化,因此我重新实现了 setDatadata,因此调用模型 setData 对背景颜色角色没有任何作用,因为我只处理角色为 Qt::DisplayRole 的数据。

我想我的第一个问题是:是否有更简单的方法来更改整个角色的颜色?如果没有,我猜我必须在 setDatadata 中实现该部分来处理我不知道该怎么做的 BackgroundRole所以如果有人有关于如何做到这一点的例子,那真的会有很大帮助......

最佳答案

这比我想象的要容易...在我的数据方法中,我添加了一个检查

if (role == Qt::BackgroundColorRole) 

在那个 if block 中。我检查进行值比较以查看是否那是我必须更改颜色的行,如果是我返回:

return QVariant(QColor(Qt::red));

关于c++ - QTableView 根据值更改行颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8919824/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com