python entry 文本框只能输入数字 限定数字

查了好多,自己放一代码片段。主要是最后一行,添加一个键盘事件处理。把输入为非0-9的字符使用"break"返回掉。

# 端口input
self._port_var = StringVar()

self._port_entry = Entry(self._set_frame, textvariable=self._port_var, width=10)
self._port_entry.grid(row=0, column=1, padx=5, pady=5)
self._port_entry.bind('', lambda e: e if e.keycode != 299 and e.char in set('0123456789') else "break")

你可能感兴趣的