2010-08-16 288 views
1

我想定制QTreeWidgetItem。我想补充一点,两个工具按钮和一个字符串。我也希望将这些添加到treewidget中的仅一列。[Qt]自定义QTreeWidgetItem

我试图将子类QTreeWidgetItem,但意识到我不能“画”它,因为它不是从QWidget派生。

然后我尝试使用QTreeWidget :: setItemWidget(QTreeWidgetItem * item,int column,QWidget widget);但是,该按钮重叠在写入该项目的文本上。如果我使用上面的调用将小部件添加到不同的列中,我无法达到我想要的效果。

我该如何实现这个目标?

此外,我想将我的“+/-”(展开折叠)按钮更改为三角形按钮,如在Vista中。 我看到一个使用样式表的例子,但是有另一种方法可以通过代码来完成它吗?

感谢

回答

1

对于这样一个大规模的修改,我建议从树部件更换到模型和树视图,并使用委托来改变它是怎么画。有一些examples on their web site