Я пишу плагин C++ для существующего приложения, где мне нужно отобразить окно, содержащее QTableWidget с использованием Qt.C++ Qt Элемент QTableWidget перемещается при изменении размера столбца
Вот отрывок из моего рабочего кода, где я строю QTableWidget и заполняю ячейки.
tableWidget->setRowCount(0); // clear tablewidget
tableWidget->clearContents();
tableWidget->setColumnCount(5);
tableWidget->setRowCount(2);
QStringList header;
header << "Date" << "Owner" << "Type" << "Folder" << "Path";
tableWidget->verticalHeader()->setDefaultSectionSize(20);
tableWidget->setHorizontalHeaderLabels(header);
tableWidget->setItem(0,0,new QTableWidgetItem(QString("dog")));
tableWidget->setItem(0,1,new QTableWidgetItem(QString("cat")));
tableWidget->setItem(0,2,new QTableWidgetItem(QString("frog")));
tableWidget->setItem(1,0,new QTableWidgetItem(QString("shark")));
tableWidget->item(0,0)->setTextAlignment(Qt::AlignLeft);
tableWidget->item(0,1)->setTextAlignment(Qt::AlignLeft);
tableWidget->item(0,2)->setTextAlignment(Qt::AlignLeft);
tableWidget->resizeColumnsToContents();
Он работает должным образом, за исключением того, что данные внутри каждого последующего столбца перемещаются дальше, чем предыдущий столбец. Это может быть преувеличено, когда вы изменяете размер столбца и видите данные в столбцах справа «слайд» еще дальше.
Вот 2 скриншота эффекта (до и после изменения размера столбца). Вы можете видеть, как слова «кошка» и «лягушка» переместились больше вправо, чем обычно.
Что я делаю неправильно? Я хочу, чтобы текст каждой ячейки был выровнен слева от каждого столбца.