2013-07-01 5 views
8

У меня есть QTableWidget с числом N столбцов, которое, когда установлено число столбцов, автоматически заполняет весь QTableWidget. Когда я пытаюсь динамически изменять количество столбцов в столбцы N/2, размер каждого столбца не изменяется. Это приводит к тому, что в правой половине QTableWidget будет пустое пространство.Изменение размера столбцов и строк QTableWidget для заполнения таблицы

Изначально, если бы я был сброшен, количество столбцов до 2 * N, ширина столбцов соответствующим образом регулируется и заполняет QTableWidget.

Мне интересно, как я могу сбросить количество столбцов и строк без QTableWidget с любыми пробелами?

ответ

21

Вы пробовали установить QHeaderView 's Resize Mode?

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

Edit: Как было отмечено, в Qt 5:

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

Это работает. Однако вместо этого следует использовать 'setSectionResizeMode'. 'setResizeMode' недоступен в Qt5. Тем не менее, кажется, мне приходится каждый раз обновлять этот режим при обновлении строки или столбца. – sj755

+0

[QHeaderView :: setStretchLastSection (true)] (http://qt-project.org/doc/qt-5.0/qtwidgets/qheaderview.html#stretchLastSection-prop) также может быть вариантом, в зависимости от вашего приложения. – Phlucious

 Смежные вопросы

  • Нет связанных вопросов^_^