1

我正在处理 2 个窗口。一个由 Qt Designer 创建,我将其导入 test.py 程序。我做了什么我在测试程序上制作了一个小部件,而不是向它添加一个按钮,然后在点击事件上我尝试弹出由 Qt Designer 创建的另一个窗口(gui1.py),但它从不弹出,当我使用 break 并执行逐行调试它在第 35 行 test.py 上运行此命令“myapp2 = MyForm()”后向我显示此消息。

QCoreApplication::exec: 事件循环已经在运行

一旦我在终端上按下回车,它就会弹出另一个窗口。

我很困惑我错在哪里。

谢谢 test.py gui1.py

4

1 回答 1

3

另一个窗口没有出现的原因是因为您没有保留对它的引用,因此它在显示后立即被垃圾收集。

要解决此问题,您可以将窗口实例存储为属性,或为其提供父级:

def local_manag(self):
    print "pressed"
    # store it as an attribute
    self.myapp2 = MyForm()
    self.myapp2.show()
    # or give it a parent
    # myapp2 = MyForm(self)
    # myapp2.show()
于 2012-08-16T23:33:56.853 回答