QTableWidget操作之上移,下移,删除

来源:互联网 发布:挂机浏览广告赚钱源码 编辑:程序博客网 时间:2024/06/06 04:00

实现对QTableWidget的上下移动,删除操作。

else if (pBtn == ui.pushButtonMoveUp){int rows = ui.tableWidget->rowCount();int columns = ui.tableWidget->columnCount();int nCurrRow = ui.tableWidget->currentRow();if (nCurrRow == 0){return;}int nPrevRow = nCurrRow - 1;QTableWidgetItem *CurrItem = new QTableWidgetItem;QTableWidgetItem *PrevItem = new QTableWidgetItem;CurrItem = ui.tableWidget->item(nCurrRow, 0);PrevItem = ui.tableWidget->item(nPrevRow, 0);QString CurrText = CurrItem->text();QString PrevText = PrevItem->text();QVector <QTableWidgetItem *> m_CurrItemVector;QVector <QTableWidgetItem *> m_PrevItemVector;for (int i = 1; i < columns; i++){m_CurrItemVector.push_back(ui.tableWidget->takeItem(nCurrRow, i));}for (int i = 1; i < columns; i++){m_PrevItemVector.push_back(ui.tableWidget->takeItem(nCurrRow, i));}for (int i = 1; i < columns; i++){ui.tableWidget->setItem(nPrevRow, i, m_CurrItemVector[i - 1]);}for (int i = 1; i < columns; i++){ui.tableWidget->setItem(nCurrRow, i, m_PrevItemVector[i - 1]);}ui.tableWidget->setCurrentCell(nPrevRow, 0);CurrItem->setText(PrevText);PrevItem->setText(CurrText);}else if (pBtn == ui.pushButtonMoveDown){int rows = ui.tableWidget->rowCount();int columns = ui.tableWidget->columnCount();int nCurrRow = ui.tableWidget->currentRow();if (nCurrRow == rows -1){return;}int nNextRow = nCurrRow + 1;QVector<QTableWidgetItem*>m_CurrItemVector;QVector<QTableWidgetItem*>m_NextItemVector;QTableWidgetItem *CurrItem = new QTableWidgetItem;QTableWidgetItem *NextItem = new QTableWidgetItem;CurrItem = ui.tableWidget->item(nCurrRow, 0);NextItem = ui.tableWidget->item(nNextRow, 0);QString CurrText = CurrItem->text();QString NextText = NextItem->text();for (int i = 1; i < columns; i++){m_CurrItemVector.push_back(ui.tableWidget->takeItem(nCurrRow, i));}for (int i = 1; i < columns; i++){m_NextItemVector.push_back(ui.tableWidget->takeItem(nNextRow, i));}for (int i = 1; i < columns; i++){ui.tableWidget->setItem(nNextRow, i, m_CurrItemVector[i - 1]);}for (int i = 1; i < columns; i++){ui.tableWidget->setItem(nCurrRow, i, m_NextItemVector[i - 1]);}ui.tableWidget->setCurrentCell(nNextRow, 0);CurrItem->setText(NextText);NextItem->setText(CurrText);}else if (pBtn == ui.pushButtonDel){int currentrow = ui.tableWidget->currentRow();if (currentrow<0){return;}QTableWidgetItem *item = ui.tableWidget->currentItem();ui.tableWidget->removeRow(item->row());}
阅读全文
0 0
原创粉丝点击