2010-03-03 20 views
2

是否可以在QTreeWidget中单独缩进项目?单独的QTreeWidgetItem缩进

具体来说,我有一个包含文本,图标和其中一些CheckBox的列。没有CheckBox的项目被移到左边,所以图标和文本的缩进与其他内容不一致。如果可能的话,也许可以用隐藏的CheckBox修复?

回答

0

也许代表的使用会给你一个很好和适当的实现。你必须重新实现的paint()和sizeHint()方法的机会,因此,选择你的QTreeWidgetItem正在绘制的方式......

更多的文档在这里:http://doc.trolltech.com/4.6/model-view-delegate.html

一个例子: http://doc.trolltech.com/4.6/itemviews-pixelator.html

希望它有一点帮助!

+0

嗨,非常感谢您的意见。我目前没有使用模型/视图框架,只是普通的QTreeWidgetItems,所以我想我不能在这里使用委托方法。但是,谢谢! – Magus 2010-03-03 12:21:51

+0

您可以将代表与QTreeWidgetItems一起使用 – Rafe 2012-09-22 00:50:16

0

您可以尝试在由QTreeWidget::itemWidget()返回的小部件上使用QWidget::setContentMargins()

+0

嗨。非常感谢您的回复。每当我尝试使用QTreeWidget :: itemWidget()返回的QWidget时,我的应用程序崩溃。你知道为什么会发生?在项目层次结构设置之前,我不会调用它。 – Magus 2010-03-03 12:25:01

+1

呵呵,现在你说了,我记得QTreeWidget :: itemWidget()只有在用QTreeWidget :: setItemWidget()设置的时候才会返回一个非NULL值。为了解决你的问题,我想你必须创建自己的项目来显示图标,并手动输入复选框/额外空间。 – gregseth 2010-03-03 13:19:06