error C2039: "setColumnHidden": 不是 "QTableWidget" 的成员
时间: 2023-11-07 14:05:29 浏览: 35
这个错误提示是因为在你的代码中使用了QTableWidget的setColumnHidden函数,而该函数不存在。可能是你想使用的是QTableView的该函数。
你可以尝试修改代码,将QTableWidget替换为QTableView,或者使用其他方式来实现列的隐藏功能。例如,可以通过设置列的宽度为0来实现列的隐藏。具体实现方式可以参考Qt的官方文档或其他相关文档。
相关问题
QTableWidget::itemChanged 和QTableWidget::currentItemChanged
QTableWidget是一个用于显示表格数据的控件,其中QTableWidget::itemChanged和QTableWidget::currentItemChanged是两个不同的信号。
QTableWidget::itemChanged是当表格中一个单元格的内容被修改后会发出的信号。这个信号有一个参数QTableWidgetItem *,它表示被修改的单元格的item。
QTableWidget::currentItemChanged则是当用户选择了一个新的单元格时会发出的信号。这个信号有两个参数,第一个参数是QTableWidgetItem *,表示新选择的单元格的item;第二个参数是QTableWidgetItem *,表示旧选择的单元格的item。
因此,QTableWidget::itemChanged和QTableWidget::currentItemChanged是两个不同的信号,分别用于响应不同的操作。
void FormHistory::slot_OrderItemChanged(QTableWidgetItem *item) { int orderId = item->text().toInt();中如何获取到orderid
在这段代码中,我们可以通过以下两种方式获取到 `orderId`:
1. 使用 `QTableWidgetItem` 的 `row()` 方法获取当前行数,再根据行数获取该行数据中 `orderId` 所在列的 `QTableWidgetItem`,最后通过 `text()` 方法获取该单元格的文本内容,即为 `orderId`。
```cpp
void FormHistory::slot_OrderItemChanged(QTableWidgetItem *item) {
int row = item->row(); // 当前行数
QTableWidgetItem *orderIdItem = ui->tableWidget->item(row, 0); // 获取 orderId 所在单元格
int orderId = orderIdItem->text().toInt(); // 获取 orderId
// ...
}
```
2. 直接获取所选单元格所在行的数据,并从中获取 `orderId`。
```cpp
void FormHistory::slot_OrderItemChanged(QTableWidgetItem *item) {
int row = item->row(); // 当前行数
QTableWidgetItem *selectedItem = ui->tableWidget->item(row, 0); // 获取所选单元格
QTableWidgetItem *orderIdItem = ui->tableWidget->item(row, 0); // 获取 orderId 所在单元格
int orderId = selectedItem->data(Qt::UserRole).toInt(); // 获取所选单元格所在行的数据
// ...
}
```
其中,第二种方式需要在设置表格数据时,将 `orderId` 存储到单元格的 `Qt::UserRole` 数据中,例如:
```cpp
QTableWidgetItem *orderIdItem = new QTableWidgetItem(QString::number(orderId));
orderIdItem->setData(Qt::UserRole, orderId); // 存储 orderId 到 Qt::UserRole 数据中
ui->tableWidget->setItem(row, 0, orderIdItem); // 设置 orderId 单元格的数据
```
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)