我的应用程序需要用户在多个屏幕之间切换。我是通过为每个屏幕创建不同的QFrame,然后将这些QFrame设置为MainWindow的中央窗口小部件来实现的。问题是,每次我调用setCentralWidget(frame)时,旧的frame都会被删除,我无法稍后访问它。如何保存旧的frame以便稍后访问?如果我的问题不清楚,请告诉我。
您可以通过重新设置父对象,将中心窗口部件从QMainWindow中删除。然后,您可以设置新的中心窗口部件; QWidget* savedWidget = mainWnd->centralWidget(); savedWidget->setParent(0);//now it is saved mainWnd->setCentralWidget(newWidget); 同时使用QStackedWidget可能会是更好的解决方案。
savedWidget->setParent(0);
步骤的原因。 - Lol4t0