小经验:
Qt中的多种Layout,在经过removewidget之后如ui.gridLayout->removeWidget(ui.tableView);
widget 还在显示窗口中,像这样:
留下一个小框,很烦人
原因是此widget与centralWidget有父子关系。
解决办法一,取消父子关
ui.tableView->setParent(nullptr);//取消父子关系
ui.gridLayout->removeWidget(ui.tableView);//再remove
办法二:widget直接hide
ui.tableView->hide();