我只想从 QTreeWidgetItem 获取行高。我搜索了很多,但没有任何结果。
我想要做的是调整包含 QTreeWidget 的包装小部件的大小,以使树中的所有行都可见(或者说,它将是一个无底的扩展小部件)。
sizeHint 将始终返回 -1,因为我从未设置它们。
我只想从 QTreeWidgetItem 获取行高。我搜索了很多,但没有任何结果。
我想要做的是调整包含 QTreeWidget 的包装小部件的大小,以使树中的所有行都可见(或者说,它将是一个无底的扩展小部件)。
sizeHint 将始终返回 -1,因为我从未设置它们。
int QTreeWidget::rowHeight(const QModelIndex& index) const
应该够了。
这个QTreeWidget
方法的结果的高度,用给定的 调用,QTreeWidgetItem
可以解决问题(当然,QTreeWidget
这对于 是不可用QTreeView
的):
QRect QTreeWidget::visualItemRect (const QTreeWidgetItem* item) const;
我相信这可以通过调整sizePolicy
QTreeWidget 和包含 QTreeWidget 本身的包装小部件来解决。
即更改Expanding
垂直属性的大小策略。
在 Designer 中提升到像这样定义的QTreeView
某个类:CTreeView
ctreeview.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