调整QTableWidget列和行的大小以填充表

sj7*_*755 10 c++ user-interface qt qtablewidget qtablewidgetitem

我有一个带有N列的QTableWidget,当设置列数时,它们会自动填充整个QTableWidget.当我尝试将列数动态更改为N/2列时,每列的大小不会更改.这导致QTableWidget的右半部分只是空格.

相反,如果我将列数重置为2*N,则列宽适当调整自己并填充QTableWidget.

我想知道如何在没有QTableWidget任何空格的情况下重置列数和行数?

Cal*_*ray 23

你试过设置QHeaderView调整大小模式吗?

    QTableWidget* myTable = new QTableWidet;
    QHeaderView* header = myTable->horizontalHeader();
    header->setResizeMode(QHeaderView::Stretch);
Run Code Online (Sandbox Code Playgroud)

编辑:正如Qt 5所指出的那样:

    QTableWidget* myTable = new QTableWidet;
    QHeaderView* header = myTable->horizontalHeader();
    header->setSectionResizeMode(QHeaderView::Stretch);
Run Code Online (Sandbox Code Playgroud)

  • 这有效.但是,应该使用`setSectionResizeMode`代替.`setResizeMode`在Qt5中不可用.但是,似乎每次更新行数或列数时都必须重置模式. (2认同)