2017-02-20 230 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); 

這種嘗試將幫助您..