如何在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小部件已通过验证。
广告