将小部件移动到另一个小部件

时间:2013-08-21 04:27:38

标签: qt layout tabwidget floating

我正在使用TabWidget,允许用户将其标签“拖出”为新的顶级窗口小部件。(即使标签可浮动)

当拖动标签时,我会获得内容(即目标小部件,我们称之为tar_widget)并删除原始标签,然后构建一个新的顶级小部件,将tar_widget放入新布局,并将布局分配给新创建的小部件。

我希望tar_widget显示在新创建的小部件中,但实际上不是

我已完成QTabWidgetQTabBarQStackedWidget组成的作业,我还尝试重置{{1}的父删除它曾经属于的布局,但问题仍然存在。

我希望有人能告诉我,如果我做错了什么。

1 个答案:

答案 0 :(得分:1)

我终于注意到tar_widget是一个QGLWidget,这就是问题。

我已经了解到QGLWidget将附加一个openGL上下文,因为我将其移动到另一个小部件中,上下文无法移动到新的父窗口小部件(在Windows上),正如文档所述。

解决方案是使用虚拟窗口小部件作为tar_widget的父窗口,并将虚拟窗口小部件移动到另一个窗口小部件中。