2017-02-20 3 views
0

Das ist mein folgender Code, den ich ein Symbol hinzugefügt, um Filetable (Spalte 0), aber ich kann nicht die Breite der Spalte 0QT SetColumnWidth funktioniert nicht in 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); 
} 

aber meine Tabellenansicht ist dies ändern:

enter image description here

gibt es eine Möglichkeit Abstand zwischen Symbol zu reduzieren (Punkt der Spalte 0) und Text (Element der Spalte 1)?

UPDATE 1:

Ich habe filesTable->resizeColumnsToContents(); meinen Code, aber es macht keinen Unterschied machen, ich brauche die Lücke so viel wie möglich

Antwort

0

Versuchen resizeColumnToContents (int column) zu reduzieren, zu erhalten sie näher.

0

Zusammenführen von zwei Tabellen in einer Tabelle. Also muss die Tabellengröße korrigiert und in einer Tabelle zusammengeführt werden. Es kann setColumnWidth in der finalen Tabelle funktionieren. Probengröße i hier versucht,

fileNameItem->resize(100,100); 

icon_item->resize(50,100); 

filesTable->setColumnWidth(0,100); 

filesTable->setColumnWidth(1,50); 

Dieser versuchen Sie hilft ..

Verwandte Themen