2017-02-20 231 views
0

工作这是我的下面的代码我增加了一个图标,文件表(列0),但我不能改变列0QT setColumnWidth不QTableWidget的

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); 
} 

的宽度,但我的表视图是这样的:

enter image description here

是否有任何方式,以减少图标之间的距离和文字(第1列的项)(列0的项)?

更新1:

我加filesTable->resizeColumnsToContents();我的代码,但它不会有所作为,我需要缩小差距尽可能

回答

0

尝试resizeColumnToContents(INT列),以获得他们更接近。

0

合并一个表中的两个表。因此,必须修复表格大小并合并到一个表格中。它可以在最终表格上工作setColumnWidth。 样本大小我在这里试过,

fileNameItem->resize(100,100); 

icon_item->resize(50,100); 

filesTable->setColumnWidth(0,100); 

filesTable->setColumnWidth(1,50); 

这种尝试将帮助您..