QTreeWidgetItem中的格式化文本

QTreeWidgetItem中的格式化文本,qt,qtreewidgetitem,formatted,Qt,Qtreewidgetitem,Formatted,我需要创建支持格式化文本的QTreeWidgetItems,例如: MyCreatedType-整数(1) (即:上面的行应该有一个“普通”部分:MyCreatedType和一个“格式化”部分(INTEGER(1)) 你知道如何做到这一点吗 谢谢。您需要的是一名代表。这里介绍了代表: 明星代表示例 Qitem代表参考 创建和使用自定义委托时我遵循的一般过程: 使用要封装的信息创建自定义类型。 对于您的情况,可能需要变量类型名称和类型值的字段 将这些自定义类型存储在模型中,将它们包装在QV

我需要创建支持格式化文本的QTreeWidgetItems,例如:

MyCreatedType-
整数(1)

(即:上面的行应该有一个“普通”部分:MyCreatedType和一个“格式化”部分(
INTEGER(1)

你知道如何做到这一点吗


谢谢。

您需要的是一名代表。这里介绍了代表:

  • 明星代表示例
  • Qitem代表参考
创建和使用自定义委托时我遵循的一般过程:

  • 使用要封装的信息创建自定义类型。
    • 对于您的情况,可能需要变量类型名称和类型值的字段
  • 将这些自定义类型存储在模型中,将它们包装在QVariant中,以满足QBStractItemModel所需的返回类型
  • 创建与所需UI匹配的控件。
    • 在本例中,它可能表示“MyCreatedType”的QText标签,后面是第二个粗体标签,表示“Integer(1)”
    • 也许控件有“setTypeName”和“setTypeValue”这样的方法
  • 创建一个委托,在找到自定义类型时绘制特定控件。
    • 您必须根据需要将自定义类型中的字段映射到自定义UI控件中的字段
  • 将模型和代理与正在使用的树视图相关联

  • 我希望这个一般过程有意义。我建议先完成Star Delegate示例,然后再阅读我的过程,因为它在一些背景下会更有意义。

    我不太理解这个问题-您想在项目文本字符串中输入数字吗?不,我只想项目的文本可以格式化(例如:它的某些部分将使用粗体字符,或使用不同的字体、颜色等。)可能是的副本?