这是我的下面代码我在文件表中添加了一个图标(第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 :(得分:0)
尝试使用resizeColumnToContents(int列)使它们更接近。
答案 1 :(得分:0)
合并一个表中的两个表。所以必须修复表大小并合并到一个表中。它可以在最终表上运行setColumnWidth。 我试过这里的样本量,
fileNameItem->resize(100,100);
icon_item->resize(50,100);
filesTable->setColumnWidth(0,100);
filesTable->setColumnWidth(1,50);
此尝试将帮助您..