QTreeWidget 可以通过样式表来设置节点和 item 的样式。
例如,可以设置节点的字体颜色和背景颜色:
QString styleSheet = "QTreeView::item { color: green; }"
"QTreeView::branch:selected { background-color: yellow; }";
treeWidget->setStyleSheet(styleSheet);
还可以设置选中时的样式:
QString styleSheet = "QTreeView::item:selected { color: white; background-color: blue; }";
treeWidget->setStyleSheet(styleSheet);
另外,也可以通过重载 QTreeWidgetItem 的 paint() 函数来自定义 item 的绘制:
class MyTreeWidgetItem : public QTreeWidgetItem
{
public:
explicit MyTreeWidgetItem(QTreeWidget *parent) : QTreeWidgetItem(parent) {}
void paint(QPainter *painter, const QStyleOptionViewItem &option, int column) const override
{
// 绘制 item 的代码
}
};
然后创建 MyTreeWidgetItem 的实例并添加到 QTreeWidget 中即可。