2014-04-22 3 views
1

나는 QTableWidget로 만든이 위젯이 있습니다 enter image description here크기 조정 열 너비 QTableWidget

을 내가 행뿐만 확인하는 동안 내 테이블의 열이 위젯의 ​​전체 폭을 차지하기 위해 크기를 조정하는 것이 싶습니다 그것은. 내가 거기에 내 같은 비슷한 질문이 있지만 그 방법으로 그것을 해결할 수 없습니다 알고 .. 이 내 코드

void MainWindow::createTable(int rows, int columns) { 
    mainList = new QTableWidget; 
    QStringList headerLabels; 
    headerLabels << "Title" << "Director" << "Year" << "Counter" << "Rating"; 
    mainList->setRowCount(rows); 
    mainList->setColumnCount(columns); 
    mainList->setHorizontalHeaderLabels(headerLabels); 
    mainList->setEditTriggers(QAbstractItemView::DoubleClicked | QAbstractItemView::SelectedClicked); 
    mainList->setSelectionBehavior(QAbstractItemView::SelectRows); 
    mainList->resizeColumnsToContents(); 
    mainList->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); 

    setCentralWidget(mainList); 
} 

답변

11

당신이 Qt5이

QTableWidget* mainList = new QTableWidget; 
QHeaderView* header = mainList ->horizontalHeader(); 
header->setSectionResizeMode(QHeaderView::Stretch); 
에 시도해 사용하는 것을 고려하고있다

또는

크기를 조정할 경우 QTableView의 마지막 열은 부모를 채우는 것을 보장하기 위해 헤더 플래그가있다.

header->setStretchLastSection(true); 
난 그냥 당신이하려는 경우가 아닌 마지막 열를 작성해야 남아있는 모든 공간을 것을 추가 할 것
+1

"UI-> 테이블 -> horizontalHeader() -> setSectionResizeMode (columnIndex에, QHeaderView :: 스트레치) ; " – Davor