qt4.8.6 qtableview如何回去行高
时间: 2024-10-09 17:03:50 浏览: 33
在HI3531上移植和运行QT4.8.6.zip_QT4.8.6_hi3531_hi3531 教程_hi3531教程_移植
在Qt 4.8.6版本的QTableView中,获取特定行的高度通常不是直接从控件上得到的,因为Qt为了性能优化,并不会保存每个单独单元格的高度信息。但是你可以通过设置样式表(QSS)或者自定义模型数据来间接控制行高。
如果你想通过样式表动态调整行高,可以这样做:
```cpp
// 设置行高的例子
yourTableView->horizontalHeader()->setSectionResizeMode(QHeaderView::Fixed);
yourTableView->verticalHeader()->setSectionResizeMode(QHeaderView::Stretch); // 自动拉伸列宽
// 计算并应用行高
int heightForRow(int row) {
QFontMetrics fm(yourTableView->font());
return fm.height() + yourTableView->verticalHeader()->height(); // 加上头部高度
}
yourTableView->setRowHeight(row, heightForRow(row));
```
如果你需要在数据模型中存储行高,可以在`QAbstractItemModel`的子类中实现`height()`函数,然后在视图更新时,依据模型的数据来计算和设置行高。
阅读全文