Python 从tk列表框返回多个选择
我有一个列表框,并希望能够返回从所说的列表框多个选择Python 从tk列表框返回多个选择,python,tkinter,Python,Tkinter,我有一个列表框,并希望能够返回从所说的列表框多个选择 def OnButtonClick(self): global confirmedsel confirmedsel = "" sel = self.lbox.curselection() seltext = self.lbox.get(sel) confirmedsel = seltext
def OnButtonClick(self):
global confirmedsel
confirmedsel = ""
sel = self.lbox.curselection()
seltext = self.lbox.get(sel)
confirmedsel = seltext
print(confirmedsel)
app.quit()
我曾尝试将“seltext”变量更改为列表(map(int()))格式,但我得到了错误的listbox索引
def OnButtonClick(self):
global confirmedsel
confirmedsel = ""
sel = self.lbox.curselection()
seltext = self.lbox.get(sel)
confirmedsel = seltext
print(confirmedsel)
app.quit()
我不知道该怎么做;感谢您的帮助
def OnButtonClick(self):
global confirmedsel
confirmedsel = ""
sel = self.lbox.curselection()
seltext = self.lbox.get(sel)
confirmedsel = seltext
print(confirmedsel)
app.quit()
我当前识别所选变量的方式:
def selecting(self,event):
sel = self.lbox.curselection()
seltext = self.lbox.get(sel)
self.labelVariable.set(seltext)
def OnButtonClick(self):
global confirmedsel
confirmedsel = ""
sel = self.lbox.curselection()
seltext = self.lbox.get(sel)
confirmedsel = seltext
print(confirmedsel)
app.quit()
我分配单个选择的方式
def OnButtonClick(self):
global confirmedsel
confirmedsel = ""
sel = self.lbox.curselection()
seltext = self.lbox.get(sel)
confirmedsel = seltext
print(confirmedsel)
app.quit()
你试过这个吗?
您可以在此处查找光标的使用:
列表框的
curselection
方法返回表示所选项目的索引元组。您只需迭代该列表并调用get
方法来获取每个元素
def OnButtonClick(self):
global confirmedsel
confirmedsel = ""
sel = self.lbox.curselection()
seltext = self.lbox.get(sel)
confirmedsel = seltext
print(confirmedsel)
app.quit()
您可以使用列表理解在一行中执行此操作,从而生成一个列表,其中包含作为字符串的选定项的值:
def OnButtonClick(self):
global confirmedsel
confirmedsel = ""
sel = self.lbox.curselection()
seltext = self.lbox.get(sel)
confirmedsel = seltext
print(confirmedsel)
app.quit()
seltext = [self.lbox.get(index) for index in self.lbox.curselection()]
如果您发现列表理解很难阅读,下面是一个使用简单循环的解决方案:
def OnButtonClick(self):
global confirmedsel
confirmedsel = ""
sel = self.lbox.curselection()
seltext = self.lbox.get(sel)
confirmedsel = seltext
print(confirmedsel)
app.quit()
results = []
for index in self.lbox.curselection():
results.append(self.lbox.get(index))
嗨,内哈,谢谢你的回复!我确实试过了。选择第一个选项会创建一个ValueError:invalid literal for int(),以10为基数:“a”当我选择其他选项时,我会得到一个Tcl错误:错误的列表框索引:必须是活动的、锚定的、结束的、@x、y或数字。我们的示例代码太多,代码又不够。太多的原因是我们不需要输入项、滚动条或某些函数,太少的原因是您没有显示任何调用
初始化
或用数据填充列表的代码。抱歉,我认为我不需要发布DataFrame的创建我们不需要DataFrame本身,我们只需要一些硬编码的数据,类似于你的真实世界的数据。