我有一个加载 .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
被隐藏并且永远无法恢复,而不是破坏所有几何和状态信息的废话。
有没有人看到这个问题?竟然解决了!?!我将不胜感激任何提示、提示或解决方法!
干杯