2

我正在使用一个TabWidget允许用户“拖出”其选项卡成为新的顶级小部件的工具。(即使选项卡可浮动)

当一个选项卡被拖拽时,我获取内容(即目标小部件,我们称之为tar_widget)并移除原来的选项卡,然后构造一个新的顶级小部件,将其tar_widget放入一个新的布局中,并将布局分配给新的-创建的小部件。

我希望将tar_widget其显示到新创建的小部件中,但实际上没有。

我已经完成了QTabWidget由 aQTabBar和 a组成的作业QStackedWidget,我还尝试了重置 the 的父tar_widget删除它曾经所属的布局,但是问题仍然存在。

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

4

1 回答 1

1

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

我了解到 QGLWidget 会附加一个 openGL 上下文,当我将它移动到另一个小部件时,上下文无法移动到新的父小部件(在 Windows 上),如文档所述。

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

于 2013-10-12T09:12:02.903 回答