2016-05-06 6 views
-1

"@"記号で表示される目に見えないラベルが緑色で表示されることを希望しますが、これは行わず何もしません。私はこれが次の機能に移行することを願っています。これを変更して、 "@"記号が文字列にない場合にラベルが表示されるようにしますが、@記号が実際に文字列にある場合はそれを受け入れません。特定の文字の入力を検索する

from tkinter import * 

class Traveller: 
    def __init__(self, parent): 
     self.E_email = "sd" 
     self.go = Frame(parent, width=500, height=450, bg="snow", pady=30, padx=10) 
     self.go.grid(row=1, column=0) 
     self.go.grid_propagate(0) # to reserve space required for frame 

     email = Label(self.go, text="Email:", bg="snow") 
     email.grid(row=3, column=0, sticky=E) 
     self.E_email = Entry(self.go, width=40) 
     self.E_email.grid(row=3, column=1, sticky=W, pady=4) 

     menuButton = Button(self.go, text="Continue", command=self.dataCheck) 
     menuButton.grid(row=8, column=1, pady=8) 

     self.meme = Label(self.go, text = "", bg = "snow") 
     self.meme.grid(row=9, column=0, columnspan = 3) 

    def dataCheck(self): 
     self.E_email = str(self.E_email) 
     if "@" in self.E_email: 
      self.meme.configure(text="memem", bg = "olive drab")   

# main routine 
if __name__ == "__main__": 
    root = Tk() 
    root.title("Traveller Details") 
    play = Traveller(root) 
    root.geometry("500x450+0+0") 
    root.mainloop() 
+0

ここでは「self.E_email」を使用することを意味しますか? 'self.E_email.grid(row = 3、column = 1、sticky = W、pady = 4)' – tknickman

+0

'print(self.E_email'を' dataCheck'にセットした直後に追加することをお勧めします。あなたはそれが何と思いますか(ヒント:そうではありません)。 –

答えて

1

入力ウィジェット内のテキストを取得するには、self.E_mail.get()を使用する必要があります。

if "@" in self.E_mail.get(): 
    ... 
関連する問題