Columns auto-resize to size of QTableView

前端 未结 4 678
鱼传尺愫
鱼传尺愫 2020-12-08 00:43

I am new to Qt and I have just managed to make a QTableView work with my model. It has fixed 3 columns. When I open a window, it look ok but when i resize the window, the QT

4条回答
  •  悲&欢浪女
    2020-12-08 01:34

    There is a header flag to ensure that the QTableView's last column fills up its parent if resized. You can set it like so:

    table_view->horizontalHeader()->setStretchLastSection(true);
    

    However, that does not resize the other columns proportionately. If you want to do that as well, you could handle it inside the resizeEvent of your parent thusly:

    void QParent::resizeEvent(QResizeEvent *event) {
        table_view->setColumnWidth(0, this->width()/3);
        table_view->setColumnWidth(1, this->width()/3);
        table_view->setColumnWidth(2, this->width()/3);
    
        QMainWindow::resizeEvent(event);
    }
    

    QParent class is subclass of QMainWindow.

提交回复
热议问题