如何在QTreeWidgetItem中设置部分文本的背景颜色?

时间:2016-08-10 07:21:10

标签: python qt qtreewidgetitem

例如,QTreeWidgetItem的文本是[“Hello world”],有没有办法设置'Hello'的背景颜色?方法setBackground似乎设置了整个列。

1 个答案:

答案 0 :(得分:0)

将自定义窗口小部件设置为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,请执行相同的步骤。