#___________________________________________________________
def open_files(self):
file_name_list = []
FM_file_name_list = []
RG_file_name_list = []
path = easygui.fileopenbox(multiple=True)
#print(path)
for i in range(len(path)):
file_name_list.append(path[i])
filename, file_extension = os.path.splitext(path[i])
#print (file_extension)
if file_extension == '.FDV':
FM_file_name_list.append(os.path.basename(path[i]))
if file_extension == '.R':
RG_file_name_list.append(os.path.basename(path[i]))
类GraphPage(tk.Frame):
def __init__(self, parent, controller):
self.controller=controller
tk.Frame.__init__(self, parent)
self.FM_List_Box =tk.Listbox(self)
self.FM_List_Box.config(highlightbackground='steelblue', highlightthickness = 1)
self.FM_List_Box.pack(side=tk.LEFT, fill=tk.Y, padx = 5)
我正在尝试将列表'FM_file_name_list'中的值放入列表框'self.FM_List_Box'中。方法'open_files'包含在不同类的应用程序的菜单栏中,因此列表框最初是在运行之前创建的。
如果有人能帮助我了解如何从不同类中的方法更新列表框的值,将非常感激。
答案 0 :(得分:0)
这相对简单。
您只需要从另一个类调用class
的变量。
这可以通过以下方式完成:
from tkinter import *
class OtherClass:
def __init__(self):
OtherClass.list = ["1", "2", "3"]
class App:
def __init__(self, root):
self.root = root
self.listbox = Listbox(self.root)
self.listbox.pack()
for i in OtherClass.list:
self.listbox.insert(END, i)
OtherClass()
root = Tk()
App(root)
root.mainloop()
所以我们这里有class
OtherClass
,其中包含list
OtherClass.list
。然后,我们可以通过调用list
从App
class
访问此OtherClass.list
。
如果您运行该程序,我们会看到我们已成功将list
从class
拉到另一个{。\ n}。