我是QT的新手,我刚刚设法使QTableView与我的模型工作.它固定3列.当我打开一个窗口,它看起来很好,但是当我调整窗口大小时,QTableView本身会调整大小,但是列的宽度保持不变.是否有任何内置的方式使其工作?我希望列可以调整大小以适应每个窗口调整大小的QTableView的边缘.
解决方法@H_502_4@
有一个标题标记,以确保QTableView的最后一列填充其父对象,如果调整大小.你可以这样设置:
table_view->horizontalHeader()->setStretchLastSection(true);
但是,这不会按比例调整其他列的大小.如果你也想这样做,你可以在你的父母的resizeEvent里处理它:
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类是QMainWindow的子类.
table_view->horizontalHeader()->setStretchLastSection(true);
但是,这不会按比例调整其他列的大小.如果你也想这样做,你可以在你的父母的resizeEvent里处理它:
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类是QMainWindow的子类.