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