对不起,我的错误。QTreeWidgetItem 类没有直接的 setObjectName() 函数来设置对象名称。相反,你可以使用 setData() 函数来存储自定义数据,并在样式表中根据该数据来选择项并应用样式。
以下是一个修正后的示例:
QTreeWidgetItem* item = new QTreeWidgetItem();
item->setText(0, "Item 1");
item->setData(0, Qt::UserRole, "#5388FF"); // 存储颜色值
treeWidget->addTopLevelItem(item);
然后,在样式表中使用 data() 伪状态选择器来获取存储的颜色数据并应用样式:
QTreeWidget {
/* 全局样式 */
}
QTreeWidget::item[data^="#"] {
border-top: 2px solid attr(data); /* 添加颜色线条 */
}
这里我们使用了 data^="#"
来选择具有以 “#” 开头的 data 属性值的项,并应用自定义的边框样式。
记得将这段样式表设置给相应的 QTreeWidget 控件:
treeWidget->setStyleSheet("your_stylesheet.qss");
希望这次回答能够帮到你!如果还有其他问题,请随时提问。
内容由零声教学AI助手提供,问题来源于学员提问