2017-12-13 1 views

답변

4

더 많은 루트 창을 사용할 수 있습니다. 기본적으로 생성 된 첫 번째 루트입니다. 그러나 때로는 매우 드물게 프로그램에서 두 번 이상 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() 
+0

내가 볼, 나는 처음 루트가 기본값이 만든 몰랐어요. –

+1

@ self.bcl 모든 tkinter 위젯이 그렇게합니다. – Novel

관련 문제