如何在Tkinter中互動式驗證Entry小部件的內容?


驗證內容是任何功能應用程式的必要部分,在這些應用程式中,我們只允許處理所需資料。Tkinter中的Entry小部件用於顯示單行文字輸入。但是,我們可以驗證Entry小部件以僅接受數字或字母。

讓我們首先建立一個僅接受數字輸入的Entry小部件。因此,首先,我們將建立一個Entry小部件,並使用**register(callback)**函式,我們將呼叫驗證Entry小部件,該小部件在每次按鍵時都會進行驗證。它返回一個可以用來呼叫函式的字串。然後,呼叫回撥函式來驗證entry小部件,如下所示:

entrywidget.config(validate="key", validatecommand=(callback,'%d'))

**Validatecommand**支援其他值,例如%d、%i、%W、%P、%s、%v等。

示例

#Import the required library
from tkinter import *
#Create an instance of tkinter frame or window
win = Tk()
def callback(input):
   if input.isdigit():
      print(input)
      return True
   elif input=="":
      print(input)
      return True
   else:
      print(input)
      return False
#Create an entry widget
entry= Entry(win)
fun= win.register(callback)
entry.config(validate="key", validatecommand=(fun, '%P'))
entry.pack()
win.mainloop()

輸出

執行以上程式碼將顯示一個包含Entry小部件的視窗,該小部件僅接受數字並在控制檯上列印按鍵。

在輸出螢幕上,輸入任何字元。您會發現您只能輸入數字,因此Entry小部件已透過驗證。

更新於:2021年4月16日

1K+ 次瀏覽

開啟您的職業生涯

完成課程獲得認證

開始學習
廣告