2015-12-02 48 views
-1

我想知道如何用2個按鈕做2個獨立的事情。目前,即使我點擊我的'提示'按鈕,它也會執行其他按鈕的功能。這是我的代碼(它還沒有完成)。 進口的Tkinter我如何用python(GUI)上的2個按鈕做兩件不同的事情?

class simpleapp_tk(Tkinter.Tk): 
     def __init__(self,parent): 
      Tkinter.Tk.__init__(self,parent) 
      self.parent = parent 
      self.initialize() 

     def initialize(self): 
      self.grid() 

      self.entryVariable = Tkinter.StringVar() 

      self.entry = Tkinter.Entry(self) 
      self.entry.grid(column=1,row=1,sticky='EW') 
      self.entry.bind("<Return>", self.OnPressEnter) 







      button = Tkinter.Button(self,text=" Click here plz..!", 
            command=self.OnButtonClick) 
      button.grid(column=1,row=4) 

      self.entry2=Tkinter.Entry(self) 

      button2 = Tkinter.Button(self,text="Hint?", 
            command=self.OnButtonClick) 
      button2.grid(column=2,row=4) 

      self.resizable(True,False) 
     def OnButtonClick(self): 
      print"Your answer is :" 
      print self.entry.get() 
      if self.entry.get()== "4": 
       print "GJ" 
      elif self.entry.get()==" ": 
       print "please enter a valid answer" 
      else : 
       print "Nop" 

     def secndButtonClick(self): 
      if self.entry2.get()=="": 
       print "here is the hint" 
      else: 
       print"Don't write anything here" 

     def OnPressEnter(self,event): 
      print"Your answer is :" 
      print self.entry.get() 
      if self.entry.get()=="4": 
       print" GJ, let me guess...You have more than 2 years old right?" 
      elif self.entry.get()==" ": 
       print "please enter a valid answer" 
      else : 
       print "Nop...you are the stupidiest person I know..." 
      if self.entry2.get()==" ": 
       print" Ok" 
    print" 2+2=?" 
    if __name__ == "__main__": 
     app = simpleapp_tk(None) 
     app.title('IQ test!') 
     app.mainloop() 
+0

這兩個按鈕命令指向self.OnButtonClick ...你期望發生什麼...?顯然,他們將要執行該方法。 –

回答

2

你的第二個按鈕的命令是一樣的第一個。我沒有太多的經驗與Tkinter,但這應該工作

button2 = Tkinter.Button(self,text="Hint?", 
         command=self.secndButtonClick) 
+0

它的作品謝謝你! – tom

+0

@tom如果它適合您,請將答案標記爲已接受。謝謝。 –

相關問題