QDockWidget,从 UI Designer 设置嵌套状态

Posted

技术标签:

【中文标题】QDockWidget,从 UI Designer 设置嵌套状态【英文标题】:QDockWidgets, set nested state from UIDesigner 【发布时间】:2011-06-27 16:28:00 【问题描述】:

我用 GuiCreator 创建了一个 QtGui 并添加了一些 DockWidgets。我只能允许来自属性编辑器的嵌套状态,但如何将其设置为 DockWidgets 的活动状态?

在运行时,用户可以移动 DockWidget,如果将一个 DockWidget 移到另一个上,它会进入嵌套状态,从而生成一个 TabView。

现在我想使用处于嵌套状态并关闭的 DockWidgets 启动应用程序。当用户切换一个可见的 DockWidget 时,它应该被添加为一个选项卡(嵌套),并且在切换它时,选项卡应该被删除。

我知道我可以为此使用 TabWidget,但我希望可以选择取消停靠 DockWidget 并将其作为单个窗口打开,因此我需要 DockWidgets。

此外,GUICreator 会处理所有可见的小部件,它们会显示在创建器中,从而导致我的 MainWindow 调整大小,当我手动设置固定大小和值时,这会导致奇怪的行为。

从源代码中创建这些 DockWidget 会更好吗? GuiCreator 似乎缺少一些我需要的功能。

我不喜欢我无法与创作者完全建立一个独立的 Gui。我总是需要调整大小并将与 UI 相关的内容添加到我的源代码中。我做错了吗?

【问题讨论】:

【参考方案1】:

我不认为你做错了什么。那些 QDockWidgets 使用起来很痛苦。 (但它们对用户来说真的很酷。)

【讨论】:

以上是关于QDockWidget,从 UI Designer 设置嵌套状态的主要内容,如果未能解决你的问题,请参考以下文章

从 .cpp 和 .h 为 Qt Designer 创建 ui 文件

从UI Designer上面动态创建下拉列表

Qt Designer 停靠小部件儿童访问

与 QMainWindow 的 GUI 命令交互时,QDockWidget 无法正确调整大小

QDockWidget - QGlWidget - 当小部件从停靠栏中拖出时,可绘制无效

Qt Designer UI (python) 到 JSON