2016-10-11 83 views
0

我已经在我的PyQt示例中重命名了“app”局部变量,并且整个事情都停止了。似乎有一个默认的“应用程序”变量持有主窗口的处理程序。是否有任何文档描述这样的其他默认值?哪里可以找到PyQt默认局部变量列表?

这工作:

if __name__ == '__main__': 
    app = style.init() 
    main = Main() 
    sys.exit(app.exec_()) 

这不起作用:

if __name__ == '__main__': 
    style.init() 
    main = Main() 
    sys.exit(app.exec_()) 
+0

我在下面的问题中添加了一个通用答案 - 但要获得更具体的帮助,您需要发布您的代码! – mfitzp

+0

谢谢,马丁!代码变得太大而无法发布。我已经为“app”条目做了grep,并且它只能被找到一次。我相信我的问题背后可能会有一些“垃圾收集”/“早期析构函数”机制。 – dataved

+0

哦。最后一行:-) – dataved

回答

0

有没有这样的事,作为一个“默认局部变量”在Python,你能说出任何你喜欢的。这个问题可能是由于代码中其他地方定义/使用了变量app而引起的 - 现在您已更改了名称,但不再清楚app(或您的新名称)引用的内容。

你可以在你的第二个代码示例看到这一点:

if __name__ == '__main__': 
    style.init() 
    main = Main() 
    sys.exit(app.exec_()) 

在这里,你还是app对象,关于调用exec_()现在(因为你已经删除了分配给appstyle.init())不再存在)。

相关问题