gpt4 book ai didi

c++ - 如何更改 QTreeWidgetItem 的一部分的背景或文本颜色

转载 作者:行者123 更新时间:2023-11-28 06:39:51 26 4
gpt4 key购买 nike

我正在用 C++ 开发 Qt 应用程序。该应用程序以树小部件为中心,该小部件对于系统中的每个实体都有一个子树。实体具有“突出显示”颜色,可以由用户指定并突出显示与特定实体相关的事件。实体根树项目的背景颜色是实体的高亮颜色。当与实体相关的事件发生时,我想使实体上匹配的标识符的背景颜色与实体的高亮颜色相同。这是我正在尝试做的事情的粗略模型,伪 HTML 标签显示颜色和我想要它们的位置:

<bgcolor=blue>Entity A</bgcolor>
Events
Identifier1 and <bgcolor=blue>Identifier2</bgcolor>
<bgcolor=blue>Identifier2</bgcolor> @ 10:45:22
<bgcolor=blue>Identifier3</bgcolor> and Identifier4

据我了解,QTreeWidgetItem 不能直接实现这一点。我知道我可以为树项目提供一个委托(delegate)来处理自定义绘画,但我并不精通 Qt 的 QStyle 部分。我们的客户将在 XP 和 Win7 上使用此应用程序,并且可能启用也可能未启用 WindowsClassic 样式。因此,处理所有 QStyle 可能性可能会变得非常复杂。有没有一种快捷方式可以让 QStyle 使用我想要的背景颜色绘制我想要的文本部分,而不必处理树项目的每一个潜在的绘图需求?

最佳答案

基本上您需要在 Qt View 中显示 HTML。您可以通过创建自定义项目委托(delegate)来完成此操作。参见 this question .

使用 HTML 设置颜色:

text1 <span style="color: #ff0000">red text</span> text2

关于c++ - 如何更改 QTreeWidgetItem 的一部分的背景或文本颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26167257/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com