Python Tkinter Entry如何获得条目的宽度

时间:2015-11-07 23:29:53

标签: python validation tkinter width tkinter-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

所以我试图验证条目中的文本是否超过最大长度。我有两个不同长度的条目小部件。我想对每个使用不同长度的相同验证函数,这样当唯一的区别是最大长度时,我不需要进行两个验证功能。因此,我试图使用小部件的宽度。但是,我无法找到获得宽度的方法。

1 个答案:

答案 0 :(得分:2)

您可以使用Entry访问entry['width']窗口小部件的字符宽度。请记住,如果修改窗口小部件,则可能无法可靠地更新。