QTableView表头设置每一列宽度,请用c
时间: 2023-12-22 16:06:41 浏览: 255
你可以使用 `QHeaderView` 类来设置 `QTableView` 的表头宽度。以下是一个示例代码:
```c++
#include <QApplication>
#include <QTableView>
#include <QStandardItemModel>
#include <QHeaderView>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QTableView tableView;
QStandardItemModel model(4, 3);
model.setHeaderData(0, Qt::Horizontal, "Name");
model.setHeaderData(1, Qt::Horizontal, "Age");
model.setHeaderData(2, Qt::Horizontal, "Gender");
tableView.setModel(&model);
// 设置表头宽度
QHeaderView* headerView = tableView.horizontalHeader();
headerView->setSectionResizeMode(QHeaderView::Stretch); // 设置自适应宽度
headerView->resizeSection(0, 100); // 设置第0列宽度为100
headerView->resizeSection(1, 50); // 设置第1列宽度为50
headerView->resizeSection(2, 80); // 设置第2列宽度为80
tableView.show();
return a.exec();
}
```
在这个示例中,我们创建了一个 `QStandardItemModel` 并设置了表头。然后,我们获取了 `QTableView` 的水平表头视图,并使用 `setSectionResizeMode` 方法设置为自适应宽度。最后,我们使用 `resizeSection` 方法分别设置了每一列的宽度。
阅读全文