2012-07-06 1041 views
1

我只想从QTreeWidgetItem中获取行高度。我搜查了很多,但没有命中。如何在QTreeWidget/QTreeView中获取行高度

我想要做的是调整包含QTreeWidget的wrap小部件,以使树中的所有行都可见(或者说,它将是一个无底的扩展小部件)。

sizeHint将始终返回-1,因为我从来没有设置它们。

回答

0

int QTreeWidget::rowHeight(const QModelIndex& index) const

应该足够了。

+0

感谢但它是受保护的功能。是否有任何公共职能? – h5nc 2012-07-06 16:57:04

+0

如果你只是显示文本,通过查询当前的'QStyle'将会有一种方法,但是我不知道任何细节。 – cmannett85 2012-07-06 17:25:55

+0

它们确实包含其他小部件。我想我应该得出它。 – h5nc 2012-07-07 02:04:14

0

我相信这可以通过调整QTreeWidget上的sizePolicy和包含QTreeWidget本身的包装小部件来解决。

I.e.将垂直属性的尺寸策略更改为Expanding

+0

两者正在扩大,但似乎无法正常工作。我正在使用设计器,但我确实显式调用了setSizePolicy。 – h5nc 2012-07-07 02:03:08

1

QTreeWidget方法的结果的高度,所谓给定的QTreeWidgetItem,是卓有成效的(为QTreeWidget - 这不是QTreeView可用,当然):

QRect QTreeWidget::visualItemRect (const QTreeWidgetItem* item) const;