|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
tkinter中的listbox组件如果使用多选如何一次传递选中的多个数据?求大神解答
self.button1 = tk.Button(labelframe1,text='搜索',command=self.get_word).grid(column=2,row=0)
self.listbox1 = tk.Listbox(labelframe2,width=40,selectmode=tk.MULTIPLE,yscrollcommand=self.scbar.set)
self.listbox1.pack()
def get_word(self):
self.theword = self.entry1.get()
self.use_thetitle()
def use_thetitle(self):
self.title = self.listbox1.get(tk.ACTIVE)
self.title_list.append(self.title)
print(self.title_list)
在tkinter中,如果使用多选的listbox组件,可以通过 curselection() 方法来获取选中的多个数据。 curselection() 方法返回一个包含选中项索引的元组,然后可以使用这些索引来获取对应的值。下面是修改后的代码:
- import tkinter as tk
- class YourClassName:
- def __init__(self):
- # 其他初始化代码
- self.button1 = tk.Button(labelframe1, text='搜索', command=self.get_word).grid(column=2, row=0)
- self.listbox1 = tk.Listbox(labelframe2, width=40, selectmode=tk.MULTIPLE, yscrollcommand=self.scbar.set)
- self.listbox1.pack()
- def get_word(self):
- self.theword = self.entry1.get()
- self.use_thetitle()
- def use_thetitle(self):
- # 清空之前的标题列表
- self.title_list.clear()
- # 获取选中项的索引
- selected_indices = self.listbox1.curselection()
- # 根据索引获取选中的数据并添加到标题列表中
- for index in selected_indices:
- title = self.listbox1.get(index)
- self.title_list.append(title)
- print(self.title_list)
复制代码
现在,当你点击"搜索"按钮时, use_thetitle 方法将获取选中的多个数据,并将它们添加到 title_list 列表中。请注意,在这个例子中,我们假设 title_list 是一个在类中定义的列表,用于存储选中的多个数据。你需要确保在初始化类时正确定义 self.title_list ,并将其作为类的一个属性来使用。
这样,你就可以一次传递选中的多个数据了。
|
|