2017-07-10 8 views
0

私がしたかったのは、Entryウィジェットにいくつかの単語を入力すると同時に、ラベルウィジェットに表示される文字を変更することでした。コードは次のとおりです。Python/Tkinter:Entryウィジェットを使ってLabelウィジェットを変更するには?

import tkinter as tk 


class App(tk.Frame): 
    def __init__(self, master=None): 
     tk.Frame.__init__(self, master) 

     self.entry = tk.Entry(master=self) 
     self.entry.pack(side="left") 

     self.var = tk.StringVar() 
     self.var.set(self.entry.get) 

     self.label = tk.Label(master=self) 
     self.label.pack(side="left") 

     self.configure_widgets() 
     self.pack() 

    def configure_widgets(self): 
     self.label.configure(textvariable=self.var) 


if __name__ == "__main__": 
    root = tk.Tk() 
    example = App(master=root) 
    example.mainloop() 

コードのどの部分を変更する必要がありますか?前もって感謝します。

+0

エントリとラベルに同じテキストを表示しますか? –

+0

はい、問題はFamousJameousのメッセージで解決しました。ありがとうございます。 –

答えて

1

EntryLabelはいずれもパラメータとして変数を受け入れます。エントリは変数の値を設定し、ラベルはそれを取得します。

import tkinter as tk 


class App(tk.Frame): 
    def __init__(self, master=None): 
     tk.Frame.__init__(self, master) 

     self.var = tk.StringVar() 

     self.entry = tk.Entry(master=self, textvariable=self.var) 
     self.entry.pack(side="left") 

     self.label = tk.Label(master=self, textvariable=self.var) 
     self.label.pack(side="left") 

     self.configure_widgets() 
     self.pack() 

    def configure_widgets(self): 
     self.label.configure(textvariable=self.var) 


if __name__ == "__main__": 
    root = tk.Tk() 
    example = App(master=root) 
    example.mainloop() 
+0

ありがとうございます、問題は解決されました。 –