Qt菜单对qtablewidget增删改查
时间: 2023-09-20 20:10:18 浏览: 89
jQuery对table表格进行增删改查
对于Qt菜单对QTableWidget进行增删改查,可以考虑以下实现方式:
1. 增加行:可以在菜单中添加一个“新增”选项,点击后弹出新增窗口,填写完数据后点击保存,即可在QTableWidget中新增一行数据。具体实现可以通过以下代码:
```cpp
QTableWidgetItem *item1 = new QTableWidgetItem("data1");
QTableWidgetItem *item2 = new QTableWidgetItem("data2");
QTableWidgetItem *item3 = new QTableWidgetItem("data3");
int row = tableWidget->rowCount();
tableWidget->insertRow(row);
tableWidget->setItem(row, 0, item1);
tableWidget->setItem(row, 1, item2);
tableWidget->setItem(row, 2, item3);
```
2. 删除行:可以在菜单中添加一个“删除”选项,点击后弹出删除确认窗口,确认后即可删除选中的行。具体实现可以通过以下代码:
```cpp
QList<QTableWidgetItem *> items = tableWidget->selectedItems();
for (auto item : items) {
tableWidget->removeRow(item->row());
}
```
3. 修改行:可以在菜单中添加一个“修改”选项,点击后弹出修改窗口,填写完数据后点击保存,即可将选中行的数据修改为新的数据。具体实现可以通过以下代码:
```cpp
QList<QTableWidgetItem *> items = tableWidget->selectedItems();
if (items.count() == 1) {
int row = items.first()->row();
QTableWidgetItem *item1 = new QTableWidgetItem("newData1");
QTableWidgetItem *item2 = new QTableWidgetItem("newData2");
QTableWidgetItem *item3 = new QTableWidgetItem("newData3");
tableWidget->setItem(row, 0, item1);
tableWidget->setItem(row, 1, item2);
tableWidget->setItem(row, 2, item3);
}
```
4. 查询行:可以在菜单中添加一个“查询”选项,点击后弹出查询窗口,输入查询条件后点击查询,即可在QTableWidget中显示符合条件的数据。具体实现可以通过以下代码:
```cpp
QString searchStr = "searchCondition";
int rowCount = tableWidget->rowCount();
for (int i = 0; i < rowCount; i++) {
QString data1 = tableWidget->item(i, 0)->text();
QString data2 = tableWidget->item(i, 1)->text();
QString data3 = tableWidget->item(i, 2)->text();
if (data1.contains(searchStr) || data2.contains(searchStr) || data3.contains(searchStr)) {
tableWidget->showRow(i);
} else {
tableWidget->hideRow(i);
}
}
```
阅读全文