1

我有一个加载 .dll 的 Qt 应用程序,该应用程序又会将QDockwidget小部件添加到QMainWindow. 为了保持尺寸和几何形状,我将它们保存在QMainWindow

    QSettings settings;
    settings.setValue("MainWindow/geometry", saveGeometry());
    settings.setValue("MainWindow/windowState", saveState());

在启动时我读回了设置

    QSettings settings;
    restoreState(settings.value("MainWindow/windowState").toByteArray());
    restoreGeometry(settings.value("MainWindow/geometry").toByteArray());

就在打电话之前show()

当我运行应用程序时,关闭它,然后删除其中一个 dll(实际上删除了QDockwidget以前在启动时加载的),应用程序将show()QMainWindow. 我可以通过删除注册表文件夹(我在 Windows 中)使应用程序正常启动HKEY_CURRENT_USER\Software\MyCompany\MyApplication\MainWindow,但我丢失了存储在那里的所有其他信息。

我想要的是让 UI 出现,好像丢失的东西QDockWidget被隐藏并且永远无法恢复,而不是破坏所有几何和状态信息的废话。

有没有人看到这个问题?竟然解决了!?!我将不胜感激任何提示、提示或解决方法!

干杯

4

0 回答 0