我知道如何将 QTreeWidgetItem 的整个文本斜体:
QTreeWidgetItem* elt = new QTreeWidgetItem(item);
QFont font = elt->font(0);
font.setItalic(true);
elt->setText(0, choice);
elt->setFont(0, font);
但是是否可以仅将部分文本斜体?(例如前一两个词)
有可能:
QTreeWidgetItem *item = new QTreeWidgetItem(treeWidget);
QLabel *label = new QLabel("<i>italics</i>, <b>bold</b>, normal", treeWidget);
treeWidget->setItemWidget(item, 0, label);
但更清洁的解决方案可能是使用QTreeView
和子类化QItemDelegate
.
默认情况下没有这样的选项。您需要设置一个QItemDelegate
能够呈现 HTML。请参阅此解决方案。