Создаю таблицу QTableWidget.
Разрешаю передвижение колонок
ui->tableWidget->horizontalHeader()->setMovable(true);
Задача сохранить таблицу формате txt. На примере QTextEdit делаю так:
ui->textEdit->clear();
QStringList sList;
sList.push_back("");
//Шапка
for (int column=0; column<ui->tableWidget->columnCount(); column++)
{
//sList.push_back(ui->tableWidget->horizontalHeaderItem(column)->text());
sList.push_back(ui->tableWidget->horizontalHeaderItem(ui->tableWidget->visualColumn(column))->text());
}
sList.push_back("\n");
//Сохранить в txt
ui->textEdit->insertPlainText(sList.join("\t")); //Шапка таблицы
//Тело таблицы
for (int row=0; row<ui->tableWidget->rowCount(); row++)
{
sList.clear();
//Название строки
sList.push_back(ui->tableWidget->verticalHeaderItem(row)->text());
for (int column=0; column<ui->tableWidget->columnCount(); column++)
{
//Данные таблицы
//sList.push_back(ui->tableWidget->item(row, column)->text());
sList.push_back(ui->tableWidget->item(row, ui->tableWidget->visualColumn(column))->text());
}
sList.push_back("\n");
//Запись строки
ui->textEdit->insertPlainText(sList.join("\t"));
}
Перемещая колонки мышкой не во всех вариантах работает. В чем может быть причина, что я сделал не так?
Прилагаю маленький пример кода в минипроекте.