QTreeWidgetItem中如何设置部分文字的背景色?

How to set the background color of part of the text in QTreeWidgetItem?

比如QTreeWidgetItem的文字是["Hello world"],请问有什么方法可以设置'Hello'的背景色吗? setBackground 方法似乎设置了整列。

将自定义小部件设置为您的 QTreeWidgetItem 的默认视图,使用 QLabel 很容易。这是一个带有 QListWidget 和 QListWidgetItem 的例子:

QListWidgetItem* MainWindow::addColoredItem(const QString& name, const QColor& backcolor, const QColor& textcolor) {
    QListWidgetItem* item = new QTreeWidgetItem(this);
    QLabel* label = new QLabel(this);
    label->setStyleSheet(QString("QLabel{background: %1; color %2;}").arg(backColor.name(), textColor.name()));
    ui->listWidget->addItem(item);
    ui->listWidget->setItemWidget(item, widget);
    return item;
}

对于QTreeWidgetItem,做同样的步骤。