我正在使用Tkinter在Python 2.7中创建GUI,现在我正在尝试使用validatecommand对我的输入框执行值检查。当我运行GUI时,它运行检查功能,因为它被强制'但我也希望它在操作GUI中的输入框值时调用检查功能。有很多代码行,所以我只包含了(我认为)与validatecommand调用相关的代码。如果缺少任何信息,请告诉我。
任何人都可以看到为什么在Entry框定义中的validatecommand调用没有任何反应?我对编程很新,所以任何见解都值得赞赏。谢谢!
import Tkinter as tk
class GUI:
def __init__(self, master):
self.master = master
self.create_content()
def create_content(self):
self.create_frameSP()
def create_frameSP(self):
vcmd = (self.master.register(self.val_check), '%d', '%i', '%P', '%s', '%S', '%v', '%V', '%W')
self.entry_frameSP6 = tk.Entry(self.sframe2_frameSP, textvariable = self.varNPU, validate = 'all', validatecommand = vcmd, justify = tk.CENTER, width = 8)
def val_check(self, d, i, P, s, S, v, V, W):
print("d='%s'" % d)
print("i='%s'" % i)
print("P='%s'" % P)
print("s='%s'" % s)
print("S='%s'" % S)
print("v='%s'" % v)
print("V='%s'" % V)
print("W='%s'" % W)
def main():
root = tk.Tk()
GUI(root)
root.mainloop()
答案 0 :(得分:3)
val_check
必须返回True
或False
。