【发布时间】:2011-06-05 11:36:06
【问题描述】:
我正在尝试在 Tkinter 中编写一个 GUI,以便从几个复杂的 Python 对象中选择一个。它们代表数据库中的记录;如果需要,我可以从给定整数唯一 ID 的地图中恢复对象。
在理想情况下,Listbox 和 OptionMenu 小部件将接受一系列任意对象和调用函数以从这些任意对象中获取要显示的字符串;并且它们的变量将提供这些对象之一,而无需进行不必要的转换。
相反,没有小部件,更重要的是,没有变量类型处理字符串或转换为数字和真值的字符串以外的任何内容。 我无法取回我的任意对象,也无法创建包含 id 值的列表,因为它们会显示 id,而不是合理的字符串表示形式。
作为测试,我将元组放入带有 StringVar 的 OptionMenu 中,并将它们转换为字符串。
是否有一些奇特的小部件或技术可以用来从变量中获取()对象,或者在小部件中显示一个不是放在小部件变量中的字符串? 我能想到的最好方法是一个充满动态生成的命令 lambda 的菜单,但它会很丑而且可能太大。
【问题讨论】:
-
每个对象得到的字符串是否唯一?
-
这样的话就太容易了。