QTableWidget 显示表格数据,最后一列一直可以显示,横向滑动条控制其他列的滚动,c++实现
时间: 2024-05-14 15:17:10 浏览: 153
QT 实现一个滚动显示的widget
你可以使用 QTableWidget 的 setHorizontalScrollBarPolicy() 函数来设置横向滚动条的显示策略,然后使用 setColumnWidth() 函数来设置每列的宽度,确保最后一列的宽度足够大,以使其不被水平滚动条覆盖。以下是一个简单的示例代码:
```c++
QTableWidget* tableWidget = new QTableWidget(this);
// 设置表格的列数和行数
tableWidget->setRowCount(5);
tableWidget->setColumnCount(10);
// 设置横向滚动条的显示策略
tableWidget->setHorizontalScrollBarPolicy(Qt::ScrollBarAsNeeded);
// 设置最后一列的宽度
tableWidget->setColumnWidth(9, 200);
// 设置其他列的宽度
for (int i = 0; i < 9; i++) {
tableWidget->setColumnWidth(i, 100);
}
// 设置表格数据
for (int row = 0; row < 5; row++) {
for (int col = 0; col < 10; col++) {
QTableWidgetItem* item = new QTableWidgetItem(QString("%1,%2").arg(row).arg(col));
tableWidget->setItem(row, col, item);
}
}
// 添加表格到布局中
layout->addWidget(tableWidget);
```
这个示例代码创建了一个 5 行 10 列的表格,设置了横向滚动条的显示策略为需要时显示,最后一列的宽度为 200 像素,其他列的宽度为 100 像素。然后,用循环设置表格数据,并将表格添加到布局中。
阅读全文