私はPythonにとってかなり新しいもので、簡単なGUIプログラムを作ろうとしました。しかし、私はまさに「問題」に入りました、まさに警告は、「M」はグローバルスコープで定義されていません(Python(variable-not-dextrand-globally))。
その機能スコープ以外にアクセスする場合は、関数内でVARグローバルを宣言する必要があることがわかります。この新しい作成された変数を関数の外に使用しないが、グローバルを宣言していない場合、私のプログラムは1秒の数分のGUIのみを表示し、それを閉じます。
import sys
from PyQt5.QtWidgets import QApplication, QWidget
def show():
global m
m = QWidget()
m.setWindowTitle("Testing this app")
m.show()
MYAPP = QApplication(sys.argv)
show()
MYAPP.exec_()
_
なぜこれが起こっているのかを説明できますか?前もって感謝します!
show()
で使用される前に、グローバルスコープのm
も宣言する必要があります。 show()
を呼び出す直前にm=None
を設定することでこれを行うことができます。