2017-04-14 6 views
1

別の関数で作られたウィジェットを忘れる方法を知りたいですか? 私のコードは静かです。Tkinter他の関数の中で作られたウィジェットを忘れる

def page2(cur1): 
    label2 = Label(root, text="How much would you like to convert?") 
    entry1 = Entry(root) 
    buttonSubmit = Button(root, text="Submit", command=lambda: get_entry(entry1, cur1)) 

    label2.grid(row=1, columnspan=5) 
    entry1.grid(row=2, sticky="w") 
    buttonSubmit.grid(row=2, column=1) 

私はそうのような別の関数からこれらのウィジェットを忘れることができるようにしたい:事前に

def forget(): 
    label2.grid_forget() 
    entry1.grid_forget() 

感謝。

+0

「忘れる」とはどういう意味ですか?あなたは何を達成しようとしていますか?後でそれらを表示させることができるように、ビューからそれらを削除するか、実際にそれらを破棄しますか? –

答えて

3

これがたくさん必要な場合は、re-structure your program using classesです。

ウィジェットの作成をグローバルスコープに移動し、必要に応じてグリッド/忘れてしまいます。

#create your widgets in global scope so you can reach them in any function 
label2 = Label(root, text="How much would you like to convert?") 
entry1 = Entry(root) 

def page2(cur1): 
    buttonSubmit = Button(root, text="Submit", command=lambda: get_entry(entry1, cur1)) 

    label2.grid(row=1, columnspan=5) 
    entry1.grid(row=2, sticky="w") 
    buttonSubmit.grid(row=2, column=1) 

def forget(): 
    label2.grid_forget() 
    entry1.grid_forget() 
関連する問題