2016-10-11 40 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())不再存在)。

相關問題