显示第二个窗口问题

时间:2012-08-16 22:42:37

标签: qt pyqt pyqt4 qt-designer

我正在处理2个窗口。一个由Qt Designer创建,我导入它 在test.py程序上。我做了什么,我在测试程序上制作了一个Widget 比添加一个按钮和点击事件我尝试弹出另一个 窗口(gui1.py)由Qt Designer创建,但它永远不会弹出窗口,当我使用时 打破并逐行调试它会在运行后显示此消息 这个命令“myapp2 = MyForm()”在第35行test.py。

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

一旦我在终端上按下Enter键,它会弹出另一个窗口。

我在错误的地方感到困惑。

由于 test.py gui1.py

1 个答案:

答案 0 :(得分: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()