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,做同样的步骤。
比如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,做同样的步骤。