我正在使用TabWidget
,允许用户将其标签“拖出”为新的顶级窗口小部件。(即使标签可浮动)
当拖动标签时,我会获得内容(即目标小部件,我们称之为tar_widget
)并删除原始标签,然后构建一个新的顶级小部件,将tar_widget
放入新布局,并将布局分配给新创建的小部件。
我希望tar_widget
显示在新创建的小部件中,但实际上不是。
我已完成QTabWidget
由QTabBar
和QStackedWidget
组成的作业,我还尝试重置{{1}的父和删除它曾经属于的布局,但问题仍然存在。
我希望有人能告诉我,如果我做错了什么。
答案 0 :(得分:1)
我终于注意到tar_widget
是一个QGLWidget,这就是问题。
我已经了解到QGLWidget将附加一个openGL上下文,因为我将其移动到另一个小部件中,上下文无法移动到新的父窗口小部件(在Windows上),正如文档所述。
解决方案是使用虚拟窗口小部件作为tar_widget
的父窗口,并将虚拟窗口小部件移动到另一个窗口小部件中。