2016-10-11 6 views
0

私はPyQtの例で "app"ローカル変数の名前を変更しました。 "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

ありがとう、マーティン!コードが大きすぎて投稿できません。私は "アプリケーション"エントリのためのgrepを作った、そしてそれは一度だけ見つけることができます。私は、私の問題の後ろに "ガベージコレクション"/"早期破壊者"の仕組みがあるかもしれないと信じています。 – dataved

+0

ああ。最後の行:-) – dataved

答えて

0

Pythonで「デフォルトのローカル変数」のようなものはありませんあなたが好きしかし、あなたは任意の名前を付けることができます。この問題は、その変数appがコード内の他の場所で定義/使用されていることが原因である可能性があります。名前が変更されたため、app(または新しい名前)が参照する内容は明らかになりません。あなたの2番目のコード例でこれを見ることができます

:ここ

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

、あなたはまだもはや(あなたがstyle.init()からappへの割り当てを削除したので)appオブジェクト、上exec_()を呼び出すことはありません存在する)。

関連する問題