3
StringVarやIntVarなどのTkinter Variableクラスは、最初の引数としてtkフレームウィジェットを使用できます。この議論は何のために使われますか?Tkinter変数クラスの最初の引数は何ですか?
StringVarやIntVarなどのTkinter Variableクラスは、最初の引数としてtkフレームウィジェットを使用できます。この議論は何のために使われますか?Tkinter変数クラスの最初の引数は何ですか?
これは、使用するルートウィンドウの詳細です。デフォルトでは最初に作成されたルートになります。ただし、プログラムでTk()
を複数回使用する必要がある場合もあります(ごくまれに)。その場合、すべての変数を適切なルートに関連付けることが重要です。
は、ここに例を示します
import tkinter as tk
class menu:
def __init__(self):
self.game = tk.Tk()
self.game.geometry('200x200')
self.var = tk.StringVar()
#~ self.var = tk.StringVar(master=self.game) # this solves the problem
ent = tk.OptionMenu(self.game, self.var, 'one', 'two', 'three', 'four')
ent.pack()
lbl = tk.Label(self.game, textvariable=self.var)
lbl.pack()
btn = tk.Button(self.game, text="new window", command=self.playagain)
btn.pack()
self.game.mainloop()
def playagain(self):
menu()
menu()
私が見て、私は最初のルートがデフォルトで作成されたことを認識していませんでした。 –
@ self.bclすべてのtkinterウィジェットがそうしています。 – Novel