[英]Tkinter validation of Entry widgets in Python
我想知道如何驗證 tkinter 中條目小部件的輸入,以便僅容納一位數字和 (+/-) 符號。 這個小部件將接受用戶對原子的充電。 請在下面添加此代碼
class Onlyonedigit(ttk.Entry):
def __init__(self, parent, *args, **kwargs):
super().__init__(parent, *args, **kwargs)
self.configure(
validate='all',
validatecommand=(self.register(self.validate_digit), '%P'),
)
def validate_digit(self, input):
if input.isdigit():
return True
else:
return False
提前致謝!
import tkinter
from tkinter import * # (*) Asterisk symbol means import everything
callback
functiondef callback(input):
if input.isdigit():
print(input)
return True
elif input is "":
print(input)
return True
else:
print(input)
return False
回調 function 檢查 Entry 小部件中的輸入是否有效。 如果條目有效,則返回 True,否則返回 False。 在此示例中,檢查通過鍵盤輸入的輸入是否為數字類型。 如果輸入是數字類型,則回調 function 返回 true。 對於刪除操作,回調 function 返回 true,因為輸入是“”。 然而,對於任何非數字輸入,回調 function 返回 false。
root=Tk()
e=Entry(root)
e.place(x=50, y=50)
reg=root.register(callback)
e.config(validate="key", validatecommand=(reg, '%P'))
最后一步:運行應用程序
root.mainloop()
希望它有效。 資料來源: Python Tkinter - 驗證條目小部件 -GeeksforGeeks
import tkinter
from tkinter import *
def callback(input):
if input.isdigit():
print(input)
return True
elif input is "":
print(input)
return True
else:
print(input)
return False
root = Tk()
e = Entry(root)
e.place(x = 50, y = 50)
reg = root.register(callback)
e.config(validate ="key",
validatecommand =(reg, '% P'))
root.mainloop()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.