2

我只想从 QTreeWidgetItem 获取行高。我搜索了很多,但没有任何结果。

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

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

4

4 回答 4

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

应该够了。

于 2012-07-06T06:49:36.503 回答
1

这个QTreeWidget方法的结果的高度,用给定的 调用,QTreeWidgetItem可以解决问题(当然,QTreeWidget这对于 是不可用QTreeView的):

  QRect QTreeWidget::visualItemRect (const QTreeWidgetItem* item) const;
于 2013-05-14T04:20:28.777 回答
0

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

即更改Expanding垂直属性的大小策略。

于 2012-07-06T20:57:55.143 回答
-1

在 Designer 中提升到像这样定义的QTreeView某个类:CTreeViewctreeview.h

#ifndef CTREEVIEW_H
#define CTREEVIEW_H

#include <QTreeView>

class CTreeView : public QTreeView
{
    Q_OBJECT

public:
    explicit CTreeView(QWidget *parent = Q_NULLPTR) : QTreeView(parent) {}
    // or 
    // using QTreeView::QTreeView; // Use inherited constructors (C++11)

    int rowHeight(const QModelIndex &index) const {
        return QTreeView::rowHeight(index);
    }
};

#endif // CTREEVIEW_H
于 2018-03-15T03:38:37.547 回答