当应用程序退出并重新启动时,我正在尝试保存/恢复 QDockWidgets 的位置和状态。我的主窗口中的流程如下:
restoreState(state.toByteArray());
// Dock widget gets created
restoreDockWidget(dockWidget);
这很有效,除了一件事:如果停靠小部件在应用程序退出时关闭,它们会在下次运行应用程序时重新出现在它们的最后位置,而我希望它们具有初始隐藏状态。关于 restoreDockWidget 的使用我有什么遗漏吗?或者我应该手动处理停靠小部件的可见状态吗?
更新:请注意,如果我执行以下操作:
// Dock widget gets created
restoreState(state.toByteArray());
然后以前隐藏的小部件保持隐藏状态。不幸的是,我不能依赖这个方案,因为我有在主窗口恢复后由插件创建的停靠小部件。
编辑:似乎在最新的 Qt 版本中已修复。