Qt QTreeView:如何在项目文本周围放置框架?

时间:2016-01-09 11:27:32

标签: c++ ruby qt

我正在尝试实现一个TreeView,其中项目文本具有彩色背景和框架。我不想把框架放在整个项目周围,而只是围绕文本。请看看这个模型: https://www.dropbox.com/s/irl8hedyxy520yy/screenshot.jpg

(a)看起来像我想要达到的目标。

据我所知,我至少有以下选项:

  • (a)用qLabel小部件替换qtreeview的项目。

    这是可能的,但我相信为每个项目创建一个小部件是个坏主意。我在其他地方读到了在这种情况下应该使用项目委托,并且只有可见项目应该是小部件。这将是复杂的。

  • (b)使用样式表。

    它看起来非常简单和优雅,但我不能只设置文本框架,而不是填充整列的项目(参见屏幕截图) )

  • (c)使用qStyledItemDelegate并按照我的意愿绘制框和文本。

    当然可能,但需要大量代码和复杂性。

解决这个问题最优雅的方法是什么?

我正在使用ruby,qtbindings和Qt4.8,但我的问题一般是关于Qt,而不是关于ruby的实现。

感谢您的帮助,

bogl的

0 个答案:

没有答案