QT开发中文网

C++ QT treeview某一个父项的边框样式

要设置 TreeView 中某个项的边框样式,可以使用 QStandardItem 的 setData() 方法来设置该项的 Qt::DecorationRole 角色。

具体步骤如下:

  1. 获取该父项的 QModelIndex 对象。

  2. 创建一个 QPen 对象,设置其颜色和宽度。

  3. 创建一个 QPixmap 对象,绘制一个矩形并填充颜色。

  4. 将该 QPixmap 对象传入 QStandardItem 的 setData() 方法中,并设置 Qt::DecorationRole 角色。

  5. 刷新 TreeView 以更新边框样式。

以下是示例代码:

// 获取父节点的索引
QModelIndex parentIndex = model->indexFromItem(parentItem);

// 设置父节点边框样式
QColor borderColor(Qt::red);
int borderWidth = 2;

QPen pen(borderColor, borderWidth);
QPixmap pixmap(20, 20);
pixmap.fill(QColor(0, 0, 0, 0));
QPainter painter(&pixmap);
painter.setPen(pen);
painter.drawRect(0, 0, 19, 19);

parentItem->setData(pixmap, Qt::DecorationRole);

// 刷新TreeView
treeView->update(parentIndex);

在上述代码中,我们首先创建了一个 QPen 对象,设置其颜色为红色,宽度为 2。然后创建了一个 QPixmap 对象,大小为 20x20,填充透明颜色。接着创建了一个 QPainter 对象,设置画笔为上面创建的 QPen,绘制了一个大小为 19x19 的矩形。最后将该 QPixmap 对象传入 QStandardItem 的 setData() 方法中,并设置 Qt::DecorationRole 角色。

最后通过 treeView->update(parentIndex) 方法来刷新 TreeView,使其更新父项的边框样式。

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://qt.0voice.com/?id=904

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?