QT setColumnWidth не работает в qtablewidget

Это мой следующий код, я добавил иконку в filetable (столбец 0), но я не могу изменить ширину столбца 0

void Window::showFiles(const QStringList &files)
{
int row=0 ;

filesTable->clearContents();

for (int i = 0; i < files.size(); ++i) {
QTableWidgetItem *fileNameItem;
QTableWidgetItem *icon_item = new QTableWidgetItem;//
QIcon icon("myPATH/3.png");
icon_item->setIcon(icon);
QFile file(currentDir.absoluteFilePath(files[i]));
qint64 size = QFileInfo(file).size();

fileNameItem = new QTableWidgetItem(files[i]);
fileNameItem->setFlags(fileNameItem->flags() ^ Qt::ItemIsEditable);filesTable->insertRow(i);
filesTable->setItem(i, 0, icon_item);
filesTable->setItem(i, 1, fileNameItem);
filesTable->setColumnWidth(0,1);
filesTable->resizeColumnsToContents();
qDebug()<<"-***-"<<filesTable->columnWidth(0)<<endl;
row++;
if(filesTable->item(i,1)->text()==fileNameImg){
filesTable->selectRow(i);
}

}
filesFoundLabel->setText(tr("%1 file(s) found").arg(files.size()) +(" (Double click on a file to open it)"));
filesFoundLabel->setWordWrap(true);
}

но мой вид таблицы таков:

введите описание изображения здесь

Есть ли способ уменьшить расстояние между значком (элемент столбца 0) и текстом (элемент столбца 1)?

ОБНОВЛЕНИЕ 1:

я добавил filesTable->resizeColumnsToContents(); в мой код, но это не имеет значения, мне нужно максимально сократить разрыв

0

Решение

Попробуйте resizeColumnToContents (int column), чтобы приблизить их.

0

Другие решения

Объединение двух таблиц в одну таблицу. Так что приходится фиксировать размер таблицы и объединять в одну таблицу. Может работать setColumnWidth на итоговой таблице.
Размер выборки, который я здесь пробовал,

fileNameItem->resize(100,100);

icon_item->resize(50,100);

filesTable->setColumnWidth(0,100);

filesTable->setColumnWidth(1,50);

Эта попытка поможет вам ..

0

По вопросам рекламы [email protected]