QList<QTableWidgetItem *> list = tableWidget->selectedItems (); //получаем выделенные ячейкиQList<QTableWidgetItem *> oldList = list;qSort(list); //сортируемfor (int a=0; a < list.count(); a++) *oldList[a] = *list[a];
bool caseInsensitiveLessThan(const QTableWidgetItem *s1, const QTableWidgetItem *s2){ return s1->text().toLower() < s2->text().toLower();}void MainWindow::on_pushButton_4_clicked(){ QList<QTableWidgetItem *> list = ui->tableWidget_2->selectedItems (); //получаем выделенные ячейки QList<QTableWidgetItem *> oldList = list; qSort(list.begin(), list.end(),caseInsensitiveLessThan); //сортируем for (int a=0; a < list.count(); a++){ *oldList[a] = *list[a]; } ui->tableWidget_2->reset();}
for (int a=0; a < list.count(); a++){ *oldList[a] = *list[a];
C++ (Qt)bool CompareRows( const QTableWidgetItem * item0, const QTableWidgetItem * item1 ){ return item0->row() < item1->row();} bool CompareNames( const QTableWidgetItem & item0, const QTableWidgetItem & item1 ){ return item0.text().toLower() < item1.text().toLower();} void MainWindow::on_pushButton_4_clicked(){ QList<QTableWidgetItem *> list = ui->tableWidget_2->selectedItems (); qSort(lst.begin(), lst.end(), CompareRows); QList <QTableWidgetItem> tmp; for (int i = 0; i < lst.size(); ++i) tmp.push_back(*lst[i]); qSort(tmp.begin(), tmp.end(), CompareNames); for (int i = 0; i < lst.size(); ++i) *lst[i] = tmp[i]; ui->tableWidget_2->reset();}