QTreeWidgetItem 高亮文本问题
Posted
技术标签:
【中文标题】QTreeWidgetItem 高亮文本问题【英文标题】:QTreeWidgetItem highlight text problems 【发布时间】:2019-10-01 08:02:21 【问题描述】:我尝试显示 QTreeWidgetItem 文本,其中一部分以蓝色突出显示。 正如我在其他帖子中看到的,我们可以使用 QLabel 并将其添加为 itemWidget。
QString("Test<SPAN style='background-color: lightblue'>blue</SPAN>display");
我使用的文字是这样的。文本正确突出显示,但出现了很多问题。我无法选中/取消选中我的项目,也无法在其中的很大一部分上使用拖放操作。
有没有使用 ItemDelegate 或其他东西来解决这个问题的解决方案? 我正在使用 Qt 5.13
我需要你的帮助。提前谢谢你。
【问题讨论】:
您好,欢迎您。您说您正在使用QLabel
并将其用作QWidgetItem
(ItemWidget
?),但仅提供带有QString
的单行。请务必在您的问题中包含relevant code,否则我们将无法为您提供帮助。
提供minimal reproducible example
auto *tree= new QTreeWidget; auto *item = new QTreeWidgetItem(tree); auto *label= new QLabel(QString("Testbluedisplay"));树->setItemWidget(0, 标签);当我这样做时,我无法再选中或取消选中我的项目。
【参考方案1】:
auto *tree= new QTreeWidget;
auto *item = new QTreeWidgetItem(tree);
auto *label= new QLabel(QString("Test<SPAN style='background-color: lightblue'>blue</SPAN>display"));
tree->setItemWidget(0, label);
当我这样做时,我无法再选中或取消选中我的项目。
【讨论】:
以上是关于QTreeWidgetItem 高亮文本问题的主要内容,如果未能解决你的问题,请参考以下文章