2013-07-01 18 views
8

Ho un QTableWidget con un numero N di colonne, che quando si imposta il numero di colonne, si automically riempire l'intero QTableWidget. Quando provo a modificare dinamicamente il numero di colonne in N/2 colonne, la dimensione di ogni colonna non cambia. Ciò si traduce nella metà destra di QTableWidget che non è altro che spazi bianchi.colonne ridimensionamento QTableWidget e righe di riempimento Tabella

Nell'altro caso, se fossi azzera il conteggio di colonna 2 * N, la larghezza delle colonne stesse regolare opportunamente e riempire il QTableWidget.

Mi chiedo come posso azzerare il numero di colonne e righe, senza il QTableWidget avere alcun spazio bianco?

risposta

21

Hai provato di impostazione del modo Ridimensiona 's il QHeaderView?

QTableWidget* myTable = new QTableWidet; 
    QHeaderView* header = myTable->horizontalHeader(); 
    header->setResizeMode(QHeaderView::Stretch); 

Edit: Come ha sottolineato, in Qt 5:

QTableWidget* myTable = new QTableWidet; 
    QHeaderView* header = myTable->horizontalHeader(); 
    header->setSectionResizeMode(QHeaderView::Stretch); 
+2

Questo funziona. Tuttavia, dovrebbe essere usato 'setSectionResizeMode'. 'setResizeMode' non è disponibile in Qt5. Tuttavia, sembra che devo ripristinare la modalità ogni volta che aggiorno il numero di righe o colonne. – sj755

+0

[QHeaderView :: setStretchLastSection (true)] (http://qt-project.org/doc/qt-5.0/qtwidgets/qheaderview.html#stretchLastSection-prop) potrebbe anche essere un'opzione, a seconda dell'applicazione in uso. – Phlucious

Problemi correlati