如何在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小部件已透過驗證。
廣告