Qt new QWidget打开新窗口

时间:2012-12-11 10:42:53

标签: qt qwidget

我正在使用QWidget创建new TestView;的新子类 当我调用该语句时,会打开一个新窗口。

此外,当我将此窗口小部件添加到布局时,窗口“关闭”,窗口小部件将首先显示在布局中。

如何确保窗口小部件不显示为新窗口?

有人能帮助我吗?

2 个答案:

答案 0 :(得分:5)

  

如何确保窗口小部件不显示为新窗口?

之所以发生这种情况是因为在将小部件添加到布局之前,小部件是可见的。您可以在show()对象的早期调用raise()TestView,或者在创建它与添加到布局之间的父窗口小部件上执行相同操作。

如果你在他们的构造函数中显示你的小部件,这是一个非常糟糕的主意。

答案 1 :(得分:1)

我遇到了同样的问题,我发现我可以做一点小小的改动,即在将小部件添加到布局之前禁用小部件的可见性,并在之后立即重新启用:

self.widget.setVisible(False)
self.tab.layout().addWidget(self.widget)
self.widget.setVisible(True)

希望它至少对外面的人有用!

(这是PySide2顺便说一句)