Python Tkinter Entry如何获取条目的宽度
Python Tkinter Entry how to get width of the entry
vcmd = (self.register(self.validate_entry_len), '%P', '%W')
ip_entry = tk.Entry(ip_frame, width=15, validate='key', vcmd=vcmd)
port_entry = tk.Entry(port_frame, width=5, validate='key', vcmd=vcmd)
def validate_entry_len(self, P, W):
entry = self.master.nametowidget(W)
if len(P) <= !!!width of entry!!!:
return True
self.bell()
return False
所以我试图验证条目中的文本是否超过最大长度。我有两个不同长度的条目小部件。我想对每个函数使用不同长度的相同验证函数,这样当唯一的区别是最大长度时,我不需要创建两个验证函数。因此,我正在尝试使用小部件的宽度。但是,我找不到获取宽度的方法。
您可以使用 entry['width']
访问 Entry
小部件的字符宽度。请记住,如果修改了小部件,这可能无法可靠地更新。
vcmd = (self.register(self.validate_entry_len), '%P', '%W')
ip_entry = tk.Entry(ip_frame, width=15, validate='key', vcmd=vcmd)
port_entry = tk.Entry(port_frame, width=5, validate='key', vcmd=vcmd)
def validate_entry_len(self, P, W):
entry = self.master.nametowidget(W)
if len(P) <= !!!width of entry!!!:
return True
self.bell()
return False
所以我试图验证条目中的文本是否超过最大长度。我有两个不同长度的条目小部件。我想对每个函数使用不同长度的相同验证函数,这样当唯一的区别是最大长度时,我不需要创建两个验证函数。因此,我正在尝试使用小部件的宽度。但是,我找不到获取宽度的方法。
您可以使用 entry['width']
访问 Entry
小部件的字符宽度。请记住,如果修改了小部件,这可能无法可靠地更新。