QtableWidget 锁定某列
时间: 2023-10-06 12:11:43 浏览: 199
您可以使用 `QTableWidget::setColumnFrozen(int column, bool freeze)` 方法来锁定某列。
例如,如果您想锁定第一列,您可以这样调用:
```cpp
ui->tableWidget->setColumnFrozen(0, true);
```
这将使第一列保持固定,不会随着水平滚动而移动。
相关问题
c++ qtablewidget锁定某一列
您可以使用QTableWidget的setColumnWidth方法来锁定某一列,该方法接受两个参数:列索引和宽度。对于您要锁定的列,您可以将其宽度设置为0,如下所示:
```cpp
ui->tableWidget->setColumnWidth(columnIndex, 0);
```
这将使该列的宽度为0,从而隐藏该列并锁定它。同时,您可以使用setColumnHidden方法来完全隐藏该列。
QTableWidget 没有 setColumnFrozen 方法
非常抱歉,我犯了一个错误。`QTableWidget` 没有 `setColumnFrozen` 方法。
如果您想要在 `QTableWidget` 中锁定某一列,您可以使用 `QHeaderView` 类中的 `setSectionResizeMode` 方法。具体而言,您可以将表头视图的 `resizeMode` 参数设置为 `QHeaderView::Fixed` 并将特定列的宽度设置为固定值。这样做可以使特定列保持固定,不会随着水平滚动而移动。
以下是一个示例代码,将第一列设置为固定列:
```cpp
// 将表头视图的 resize mode 设置为 Fixed
ui->tableWidget->horizontalHeader()->setSectionResizeMode(QHeaderView::Fixed);
// 将第一列的宽度设置为 100 像素
ui->tableWidget->setColumnWidth(0, 100);
```
这样就可以将第一列锁定在表格中了。
阅读全文
相关推荐









