2024-09-27 07:31:41 发布
网友
现在我做了一个程序,只要按一下按钮就可以激活。现在假设我有一个名为:
selection = Tkinter.Listbox(b_action) selection.insert(1,"stuff") selection.insert(2,"morestuff") a = 0
每次选择列表框的不同部分时,如何使该过程运行?例如,我首先点击“素材”,然后点击“更多素材”。单击“素材”将a设置为1,单击“更多素材”将a再次设置为0。在
a
您可以创建一个字典,将实际的listbox值与备用值(例如:{"stuff": 1, "morestuff": 2})映射。接下来,在<<ListboxSelect>>上创建一个绑定。在从该绑定调用的函数中,获取当前选定的项,使用该项查找其他值,并将该值存储在变量中。在
{"stuff": 1, "morestuff": 2}
<<ListboxSelect>>
下面是一个例子:
import Tkinter as tk class Example(tk.Frame): def __init__(self, *args, **kwargs): tk.Frame.__init__(self, *args, **kwargs) self.label = tk.Label(self) self.selection = tk.Listbox(self, width=40) self.label.pack(side="top", fill="x", expand=False) self.selection.pack(side="top", fill="both", expand=True) self.data = {"stuff": 1, "morestuff": 2} self.selection.insert("end", "stuff", "morestuff") self.selection.bind("<<ListboxSelect>>", self.on_listbox_select) def on_listbox_select(self, event): i = self.selection.curselection()[0] text = self.selection.get(i) self.label.configure(text="new value: %s (%s)" % (self.data[text], text)) if __name__ == "__main__": root = tk.Tk() Example(root).pack(side="top", fill="both", expand=True) root.mainloop()
如果只想将变量设置为所选项目的索引,则不需要字典。你想从列表框里选出来的,是你想要的还是你想要的东西。在
您可以创建一个字典,将实际的listbox值与备用值(例如:
{"stuff": 1, "morestuff": 2}
)映射。接下来,在<<ListboxSelect>>
上创建一个绑定。在从该绑定调用的函数中,获取当前选定的项,使用该项查找其他值,并将该值存储在变量中。在下面是一个例子:
如果只想将变量设置为所选项目的索引,则不需要字典。你想从列表框里选出来的,是你想要的还是你想要的东西。在
相关问题 更多 >
编程相关推荐