我正在使用QWidget
创建new TestView;
的新子类
当我调用该语句时,会打开一个新窗口。
此外,当我将此窗口小部件添加到布局时,窗口“关闭”,窗口小部件将首先显示在布局中。
如何确保窗口小部件不显示为新窗口?
有人能帮助我吗?
答案 0 :(得分:5)
如何确保窗口小部件不显示为新窗口?
之所以发生这种情况是因为在将小部件添加到布局之前,小部件是可见的。您可以在show()
对象的早期调用raise()
或TestView
,或者在创建它与添加到布局之间的父窗口小部件上执行相同操作。
如果你在他们的构造函数中显示你的小部件,这是一个非常糟糕的主意。
答案 1 :(得分:1)
我遇到了同样的问题,我发现我可以做一点小小的改动,即在将小部件添加到布局之前禁用小部件的可见性,并在之后立即重新启用:
self.widget.setVisible(False)
self.tab.layout().addWidget(self.widget)
self.widget.setVisible(True)
希望它至少对外面的人有用!
(这是PySide2顺便说一句)