Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Qt中使用可拆卸的工具窗口_Qt_Qdockwidget - Fatal编程技术网

如何在Qt中使用可拆卸的工具窗口

如何在Qt中使用可拆卸的工具窗口,qt,qdockwidget,Qt,Qdockwidget,我正在开发一个工具,将有一些可变大小的窗口。我可以使用qspliter水平和垂直来实现这一点。请参阅所附图片 现在,如何使这些单独的窗口可拆卸/最大化/关闭?如何在每个窗口的右上角添加十字标记,以便它们可以最大化地关闭或从那里分离?就像这个链接:-- 您正在寻找课程: QDockWidget类提供了一个可以停靠在 QMainWindow或作为桌面上的顶级窗口浮动。 QDockWidget提供了dock Widget的概念,也称为工具 选项板或工具窗口。停靠窗口是放置的辅助窗口 在qMain窗口

我正在开发一个工具,将有一些可变大小的窗口。我可以使用
qspliter
水平和垂直来实现这一点。请参阅所附图片

现在,如何使这些单独的窗口可拆卸/最大化/关闭?如何在每个窗口的右上角添加十字标记,以便它们可以最大化地关闭或从那里分离?就像这个链接:--

您正在寻找课程:

QDockWidget类提供了一个可以停靠在 QMainWindow或作为桌面上的顶级窗口浮动。 QDockWidget提供了dock Widget的概念,也称为工具 选项板或工具窗口。停靠窗口是放置的辅助窗口 在qMain窗口中中心小部件周围的dock小部件区域中

查看一下

在2021年,有一个显然更好的Qt对接框架,它具有商业和开源许可证

该网站列出了以下优点:

  • 它提供了QDockWidgets不支持的高级对接
  • 布局引擎遵循最小/最大大小约束和一些大小策略
  • 支持PySide2绑定
  • 干净的代码库
  • 支持延迟分隔符调整大小
  • 您可以使用鼠标对选项卡重新排序
  • 支持部分布局保存/恢复,仅影响选定的子集
  • 允许双击标题栏使其最大化
  • 允许双击分隔符以平均分配
  • 显示选项卡上的关闭按钮
  • 允许您使停靠小部件不可关闭和/或不可停靠
  • 在标题栏上提供可选的最大化按钮
  • 浮动窗口可以是实用程序窗口或完全本机窗口

谢谢。。是否可以使用QT creator执行此操作。。实际上,我无法使用qt creator将qdockwidget组合到布局中,如我所附的图片所示。您可以使用设计器将每个子窗口创建为
qdockwidget
。但我认为您需要代码将它们添加到主窗口。要创建
QDockWindow
:File>New>Qt>qtdesigner From Class>Widgets/QDockWidget。然后在
main窗口中
constructor:
MyDockWidget*dock=newmydockwidget(这个);addDockWidget(Qt::RightDockWidgetArea,dock)如示例中所示。明白了,我将尝试此。。。最后一个。。。我们必须为每个窗口指定默认位置吗?我想是的。当您调用
addDockWidget
时,您需要通过该区域。在您提出下一个问题之前,您可以使用
dock->setFloating(false)以编程方式将您的
QDockWidget
派生小部件固定在
dock->setFloating(false)上:)