Par exemple, le texte de QTreeWidgetItem est ["Bonjour tout le monde"], est-il possible de définir la couleur de fond de «Bonjour»? La méthode setBackground
semble définir la colonne entière.Comment définir la couleur d'arrière-plan d'une partie du texte dans QTreeWidgetItem?
0
A
Répondre
0
Définir un widget personnalisé comme vue par défaut de votre QTreeWidgetItem, c'est facile avec QLabel. Ceci est un exemple avec un QListWidget et 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;
}
Pour QTreeWidgetItem, faire les mêmes étapes.
+0
La question concerne une autre chose. Juste 'label-> setText (" Bonjour World ")', pas de feuilles de style de widget. – ilotXXI
Comme c'est un 'QTreeWidget', vous pouvez insérer un' QLabel' avec du code HTML "coloré". – ilotXXI