2013-07-17 264 views
0

我有一个QTreeView在我的窗口,我想设置以下行为:列的宽度必须设置为调整大小的内容,我已经这样做了:QTreeView设置列大小内容,没有多行(固定行高)

tabla->header()->setResizeMode(QHeaderView::ResizeToContents); 

现在,我需要做的是设置行只有1号线,因此,如果列包含“\ n”,他们不应该被显示出来(我有一个详细的说明对话框看到)。

总结一下,我需要在我的树型视图中设置“没有多行”。

任何帮助,将不胜感激。

我宁愿不延长QTreeView则,因为我有很多thems的和不希望改变他们所有,但如果这就是它需要...

+0

你已经'uniformRowHeights'设置为true了吗?为什么不用一个简单的'replace(“\ n”,“”)'来解决这个问题呢? –

+0

我现在就试试。 替换不起作用,因为我的客户端有点烦人:P 他放置'\ n',然后抱怨表中某些行的高度。 编辑:这个伎俩。非常感谢,如果您发布答案,我会选择:D – Lautaro

回答

1

QTreeView似乎忽略的内容,新行当uniformRowHeights为真(见Qt-4.8)

这没有记录,所以通常不应该依赖它。填充树视图时最好删除换行符或用空格替换它们。

此外,我已经注意到一个例外:如果treeview中只有一行,并且它包含一个换行符,则它将显示在两行中,而不管uniformRowHeights

+0

谢谢!那样做了! – Lautaro

相关问题