2013-07-01 12 views
8

Sütun sayısı ayarlandığında, QTableWidget öğesinin tamamını otomatik olarak dolduran bir N sütun sayısına sahip bir QTableWidget'i var. Sütun sayısını N/2 sütunlarına dinamik olarak değiştirmeye çalıştığımda, her sütunun boyutu değişmez. Bu, QTableWidget öğesinin sağ yarısında hiçbir şeyden ziyade beyaz boşluk olmasıyla sonuçlanır.QTableWidget Sütunları ve Satırları Dolduracak Şekilde Yeniden Boyutlandırma

Tersine, sütun sayısını 2 * N olarak sıfırladıysam sütun genişlikleri kendilerini uygun şekilde ayarlar ve QTableWidget öğesini doldurur.

Herhangi bir boşluk içeren QTableWidget olmadan sütun sayısını ve satır sayısını nasıl sıfırlayabildiğimi merak ediyorum?

cevap

21

QHeaderView Yeniden Boyutlandırma Modunu ayarlamayı denediniz mi?

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

Düzenleme: Qt 5'de, belirttiği gibi:

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

. Ancak, bunun yerine 'setSectionResizeMode' kullanılmalıdır. 'setResizeMode' Qt5'te mevcut değildir. Ancak, satır veya sütun sayısını her güncellediğimde modu sıfırlamam gerekiyor. Uygulamanıza bağlı olarak – sj755

+0

[QHeaderView :: setStretchLastSection (true)] (http://qt-project.org/doc/qt-5.0/qtwidgets/qheaderview.html#stretchLastSection-prop) da bir seçenek olabilir. – Phlucious