我正在尝试实现一个TreeView,其中项目文本具有彩色背景和框架。我不想把框架放在整个项目周围,而只是围绕文本。请看看这个模型: https://www.dropbox.com/s/irl8hedyxy520yy/screenshot.jpg
(a)看起来像我想要达到的目标。
据我所知,我至少有以下选项:
(a)用qLabel小部件替换qtreeview的项目。
这是可能的,但我相信为每个项目创建一个小部件是个坏主意。我在其他地方读到了在这种情况下应该使用项目委托,并且只有可见项目应该是小部件。这将是复杂的。
(b)使用样式表。
它看起来非常简单和优雅,但我不能只设置文本框架,而不是填充整列的项目(参见屏幕截图) )
(c)使用qStyledItemDelegate并按照我的意愿绘制框和文本。
当然可能,但需要大量代码和复杂性。
解决这个问题最优雅的方法是什么?
我正在使用ruby,qtbindings和Qt4.8,但我的问题一般是关于Qt,而不是关于ruby的实现。
感谢您的帮助,
bogl的