gpt4 book ai didi

c++ - 用不同颜色填充 QTreeView 中的单元格,用不同颜色填充 QDiagCrossPattern

转载 作者:行者123 更新时间:2023-11-30 03:18:48 25 4
gpt4 key购买 nike

我正在使用 QTreeView,其中我希望特定单元格具有背景颜色,比如蓝色,并具有灰色的 Qt::DiagCrossPattern。最好在 Model::data 中而不是在 paint 中实现此实现。有什么办法可以通过 Model::Data 本身的 Qt::BackgroundRole 来实现吗?我试过这样做:

Model::data(const QModelIndex &index, int role) const
{
case Qt::BackgroundRole:
{
QColor backgroundcolor = Qt::blue;
return QBrush(backgroundcolor, Qt::DiagCrossPattern);
}
}

但这使背景颜色保持透明并且 diagcrosspattern 线为蓝色,这不是要求。

最佳答案

您可以创建纹理(例如 QPixamp)并在 QBrush 中使用它

参见 QBrush(const QPixmap&)

对于纹理,您可以加载图像或使用 QPainter 创建它

QPixmap pixmap(16, 16);
pixmap.fill(QColor(0, 0, 255));
QPainter painter(&pixmap);
painter.fillRect(pixmap.rect(), QBrush(QColor(128, 128, 128), Qt::DiagCrossPattern));

关于c++ - 用不同颜色填充 QTreeView 中的单元格,用不同颜色填充 QDiagCrossPattern,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54360061/

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