以下代码允许选择使用tkinter制作的树状方案(ttk.Treeview
)的不同文件。下面的variable
输出提供了对每个选定文件执行的特定操作的结果:
import tkinter as tk
from tkinter import ttk
class App():
def __init__(self):
self.root = tk.Tk()
self.treeview = ttk.Treeview()
self.treeview.pack()
sobreitem1 = self.treeview.insert("", tk.END, text="A")
item0_1 = self.treeview.insert(sobreitem1, tk.END, text="1")
item1_1 = self.treeview.insert(sobreitem1, tk.END, text="2")
item2_1 = self.treeview.insert(sobreitem1, tk.END, text="3")
item3_1 = self.treeview.insert(sobreitem1, tk.END, text="4")
self.treeview.bind("<Double-1>", self.OnDoubleClick)
self.root.mainloop()
def OnDoubleClick(self, event):
item = self.treeview.selection()[0]
import operacion
variable = operacion.calculo(item)
if __name__ == "__main__":
app = App()
我存在的疑问是如何在列表中累积variable
的所有结果,以便以后能够使用双击所做的所有选择的集合?
答案 0 :(得分:1)
只需定义一个存储空列表的属性,然后追加双击选中的每个项目。这是代码框架:
...
def __init__(self):
...
self.variables = []
...
def OnDoubleClick(self, event):
...
self.variables.append(operacion.calculo(item))
...
答案 1 :(得分:1)
首先,通过添加:
将list属性添加到App
对象
self.variable = list() # or []
在__init__
内,以便能够访问对象所在范围内的值。
然后修改OnDoubleClick
以便追加(而非分配)到新使用的self.variable
。替换:
variable = operacion.calculo(item)
使用:
self.variable.append(operacion.calculo(item))