我有一个 QTableView 包含来自数据库的数据行。但是,设置 setAlternatingRowColors(true) 仅交替具有数据的行颜色 - 表的其余部分只是白色,这不是您所期望的行为(例如,查看任何浏览器的书签列表 - 空行具有交替颜色)。
有谁知道 Qt 提供的表格视图的替代方法或替代方法?我摆弄了样式表和项目委托,结果相同。
我有一个 QTableView 包含来自数据库的数据行。但是,设置 setAlternatingRowColors(true) 仅交替具有数据的行颜色 - 表的其余部分只是白色,这不是您所期望的行为(例如,查看任何浏览器的书签列表 - 空行具有交替颜色)。
有谁知道 Qt 提供的表格视图的替代方法或替代方法?我摆弄了样式表和项目委托,结果相同。
你为什么不为此使用 Qt QSS?它工作得很好。看看这里:http ://www.qtcentre.org/threads/42211-QTableWidget-alternating-background-color?p=263046#post263046
myTable->setAlternatingRowColors(true);
myTable->setStyleSheet("alternate-background-color: yellow;background-color: red;");
您可以data()
像这样重新实现模型的方法:
QVariant MyModel::data(const QModelIndex& index, int role) const
{
if(role == Qt::BackgroundColorRole)
return color;
...
}
应该可以对委托使用setModelData()
.