Qt Creator Designer 中的 QDockWidget 表单

QDockWidget form in Qt Creator Designer

我正在使用 Qt Creator 4.5.0 并正在尝试创建一个我可以在内置设计器中修改的 QDockWidget(我一直在使用 QDialogs 和 QMainWindows 这样做,所以这是第一次尝试使用QDock 控件)。但是我无法将任何类型的任何小部件元素添加到 QDockWidget。

这是我采取的步骤

  1. 在左侧的项目树中,右键单击项目,然后 select "Add New..."
  2. 在左边弹出的select"Qt"里window,然后select"Qt Designer Form Class",然后select"Choose"
  3. 在此页面上展开 "Widgets" 部分,然后 select "QDockWidget",然后 select "Next"
  4. 在此页面上为 class 命名(对我来说是 "ImageFilesDockWidget"),然后单击 "Next"
  5. 在此页面上 select "Finish" 将文件添加到项目中。
  6. 从这里开始,"ImageFilesDockWidget.ui" 文件将自动显示,所以我尝试向视图添加一些小部件,但什么也没有添加。例如,如果我单击一个按钮并将其拖到 dockwidget 的中心,它会显示一个红色圆圈,中间有一条线穿过它,表示我无法添加该项目。

如果有人 运行 解决了这个问题并且知道如何解决这个问题,那对我来说将是一个巨大的帮助。

提前致谢。

更新

目前我可以使用设计器自定义标准 QWidget 对象(称之为 "ImageFilesWidget.ui")。所以目前我的解决方案是在设计器中将标准 QDockWidget 添加到我的 QMainWindow,然后(仍在设计器中)我将 dockWidgetContents 从标准 QWidget 提升到我的 ImageFilesWidget class.

问题似乎是当 qtcreator 4.5 为您创建 dockwidgets ui 文件时,它不包含以前版本中包含的 "dockWidgetContents" 小部件。只需手动将 <widget class="QWidget" name="dockWidgetContents"/> 放在 dockwidget 的 "windowTitle" 属性 下,您就可以向其中添加 ui 元素。