問題のコードはかなり大きいので、私はここで指図バージョンを作成しています。変数をtkinterのボタンで変更してください
import tkinter
variable = "data"
def changeVariable():
variable = "different data"
def printVariable():
print(variable)
window = tkinter.Tk
button1 = tkinter.Button(window, command=changeVariable)
button1.pack()
button2 = tkinter.Button(window, command=printVariable)
button2.pack()
この例では、最初のボタンを押して「変数」を変更し、次に2番目のボタンを押して変更します。しかし、 "異なるデータ"の代わりに "データ"が印刷されます。私はちょっと調べて、グローバルを使う前に、メインコードと関数の両方で変数を定義することにしました。
import tkinter
global variable
variable = "data"
def changeVariable():
global variable
variable = "different data"
def printVariable():
global variable
print(variable)
window = tkinter.Tk()
button1 = tkinter.Button(window, command=changeVariable)
button1.pack()
button2 = tkinter.Button(window, command=printVariable)
button2.pack()
window.mainloop()
これで、 'name'変数は '定義されていません'と表示されます。
本質的に、変数「変数」をtkinterのボタンで変更するにはどうすればよいですか? グローバルを使うと間違っていましたか?
私は最初の 'グローバル変数'は必要ないと思います。 – quamrana
あなたのコードは私のために働く。あなたはどこかで "変数"のスペルを間違えていませんでしたか? – Novel
2つ目の例では、 'window = tkinter.Tk()'と最後に 'window.mainloop()'を追加しています。 – FamousJameous