qt QStandardItemModel 设置行高列宽 QStandardItemModel model1; model1.setData(model1.index(0, 0), 50, Qt::SizeHintRole); 不成功的原因
时间: 2024-03-11 15:49:03 浏览: 215
Excel精确设置列宽、行高
`QStandardItemModel` 中设置行高和列宽的方法是使用 `QHeaderView` 类的 `setSectionSize` 方法。`setData` 方法中的 `Qt::SizeHintRole` 可以用来设置项的尺寸提示,但是不会直接影响行高或列宽。
要设置行高或列宽,请使用以下代码:
```cpp
QStandardItemModel model1;
model1.setHeaderData(0, Qt::Vertical, 50, Qt::SizeHintRole); // 设置第一行的高度
model1.setHeaderData(0, Qt::Horizontal, 100, Qt::SizeHintRole); // 设置第一列的宽度
```
此外,您还需要确保在使用 `QStandardItemModel` 的视图中启用了行高和列宽的自适应,例如:
```cpp
ui->tableView->verticalHeader()->setSectionResizeMode(QHeaderView::ResizeToContents);
ui->tableView->horizontalHeader()->setSectionResizeMode(QHeaderView::ResizeToContents);
```
这将使表格视图自动调整行高和列宽以适应内容。
阅读全文