2012-08-16 100 views
1

我正在处理2个窗口。一个是由Qt Designer创建的,我在test.py程序中导入它 。我做了什么我做了一个测试程序和 比添加一个按钮,并点击事件我尝试弹出其他 窗口(gui1.py)创建的Qt设计器,但它从来没有弹出窗口,当我使用 打破并做逐行调试它显示此消息运行 此命令“myapp2 = MyForm()”在行号35 test.py。显示第二个窗口问题

QCoreApplication :: EXEC:事件循环已经运行

,一旦我把它压弹出另一个窗口在终端上输入。

我很困惑,我错了。

感谢 test.py gui1.py

+0

你的问题已经回答了,但将来能否请您避免交叉张贴? – ekhumoro 2012-08-16 23:46:17

回答

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() 
+0

你很快...我落后了8秒... – 2012-08-16 23:36:27

+0

@EricHulser。我会给你一个upvote并称它为平局,但你太快删除了你的答案:) – ekhumoro 2012-08-16 23:39:46

+0

非常感谢ekhumoro :)但是有一个问题,为什么当我一行一行地调试 – Uahmed 2012-08-17 00:49:36