c++ qt 中 treeWidget 显示不全分行显示
时间: 2023-12-02 18:03:41 浏览: 76
在 C++ Qt 中,你可以通过设置 `QTreeWidgetItem` 的 `setSizeHint()` 方法来实现 TreeWidget 的分行显示。具体步骤如下:
1. 首先,需要设置 TreeWidget 的 `setUniformRowHeights(false)`,这样每一行的高度就可以自适应。
2. 然后,对于需要分行显示的 Item,使用 `setSizeHint()` 方法设置其高度。
下面是一个示例代码:
```c++
#include <QApplication>
#include <QTreeWidget>
#include <QTreeWidgetItem>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QTreeWidget treeWidget;
treeWidget.setUniformRowHeights(false);
treeWidget.setHeaderLabels(QStringList() << "Name" << "Age" << "Gender");
QTreeWidgetItem *item1 = new QTreeWidgetItem(&treeWidget, QStringList() << "John Doe" << "30" << "Male");
QTreeWidgetItem *item2 = new QTreeWidgetItem(&treeWidget, QStringList() << "Jane Doe" << "25" << "Female");
QTreeWidgetItem *item3 = new QTreeWidgetItem(&treeWidget, QStringList() << "Michael Smith" << "40" << "Male");
// 设置第一行的高度为两倍
item1->setSizeHint(0, QSize(0, 40));
treeWidget.show();
return a.exec();
}
```
在上面的示例中,我们将第一行的高度设置为了两倍,其他行的高度会自动适应。你可以根据需要设置每一行的高度。
阅读全文