我已經使用root.bind("<Return>",enter)
,當按下回車鍵(回車鍵)時,它會調用函數進入。輸入函數讀取一些輸入字段,並可能根據輸入調用tkMessageBox.showerror(header,text)
。按回車鍵都將按錯誤上的OK並使tkMessageBox.showerror(header,text)
再次出現,儘管tkMessageBox.showerror(header,text)
之後的下一行是inputfield.delete(0,END)。當返回鍵被綁定時,Tkinter showerror會再次出現
這是代碼:
enter():
showerror("Error","Wrong input")
streckkodEntry.delete(0,END)
這解決了它:
enter():
disable()
showerror("Error","Wrong input")
enable()
streckkodEntry.delete(0,END)
其中disable()
刪除綁定和enable()
放回去
是否只能在我的機器上會出現此問題Debian 7.0,但不是我的Windows機器。任何想法如何解決它而無需爲每個showerror添加禁用/啓用?
我認爲我們沒有足夠的信息來回答這個問題。你是否有與該條目相關的變量的痕跡?您是否具有與條目相關的驗證?你能創建一個非常小的程序來複制問題嗎? – 2014-12-05 22:28:58
如果您將綁定到根目錄,我很驚訝您不必禁用Windows上的綁定,但這顯然是處理的系統相關特性之一。這可能與沒有將根傳遞給淋浴錯誤有關。嘗試將綁定到Entry小部件。 –
2014-12-05 23:13:47