【问题标题】:Resizing QTableWidget Columns and Rows to Fill Table调整 QTableWidget 列和行的大小以填充表格
【发布时间】:2013-06-28 23:55:41
【问题描述】:

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

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

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

【问题讨论】:

    标签: c++ qt user-interface qtablewidget qtablewidgetitem


    【解决方案1】:

    您是否尝试过设置QHeaderView 的调整大小模式?

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

    编辑:正如所指出的,在 Qt 5 中:

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

    【讨论】:

    • 这行得通。但是,应该改用setSectionResizeModesetResizeMode 在 Qt5 中不可用。但是,似乎每次更新行数或列数时都必须重置模式。
    • QHeaderView::setStretchLastSection(true) 也可能是一个选项,具体取决于您的应用程序。
    • myTable.horizontalHeader().setSectionResizeMode(QtWidgets.QHeaderView.Stretch) in pyqt5
    猜你喜欢
    • 2021-03-28
    • 2012-03-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-14
    • 2022-01-09
    • 1970-01-01
    • 2011-01-03
    相关资源
    最近更新 更多