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