qt qstandarditemmodel 设置treeview行高
时间: 2023-06-26 21:06:35 浏览: 115
qt中的treeView的右击事件和双击事件
可以通过设置QTreeView的行高来改变QStandardItemModel中行的高度。具体的方法是:
1. 获取QTreeView的默认行高:`int rowHeight = treeView->fontMetrics().height();`
2. 设置QTreeView的行高:`treeView->setUniformRowHeights(true);`,将`setUniformRowHeights()`的参数设置为true,则所有行的高度都会设置为相同的行高。
3. 修改QTreeView的每个Item的行高:可以通过重写`QStyledItemDelegate`类的`sizeHint()`函数来实现。例如:
```cpp
class MyItemDelegate : public QStyledItemDelegate
{
public:
QSize sizeHint(const QStyleOptionViewItem& option, const QModelIndex& index) const override
{
QSize size = QStyledItemDelegate::sizeHint(option, index);
size.setHeight(50); // 设置每个Item的行高为50
return size;
}
};
```
然后将这个自定义的ItemDelegate设置给QTreeView:`treeView->setItemDelegate(new MyItemDelegate());`
阅读全文