我正在创建一个新的子类QWidget
with:new TestView;
当我调用该语句时,会打开一个新窗口。
此外,当我将此小部件添加到布局时,窗口会“关闭”,并且该小部件首先应显示在布局中。
如何确保小部件不显示为新窗口?
有谁能够帮我?
如何确保小部件不显示为新窗口?
发生这种情况是因为您的小部件在您将其添加到布局之前是可见的。无论您是在对象上调用show()
还是raise()
在早期调用TestView
,或者在父部件创建和添加到布局之间的那一刻,您都在父部件上执行相同的操作。
如果您在其构造函数中显示您的小部件,那是一个非常糟糕的主意。
我有同样的问题,我发现我可以做这个小技巧,在将小部件添加到布局之前禁用它的可见性并在之后重新启用:
self.widget.setVisible(False)
self.tab.layout().addWidget(self.widget)
self.widget.setVisible(True)
希望它至少对那里的人有用!
(这是用于 PySide2 顺便说一句)