我有2个班级:
schedule_GUI
负责创建和填充默认值(从csv文件中读取)。run_schedule
负责根据时间表打开/关闭物理交换机。schedule_GUI
期间, run_schedule
是__init__
类的主人,可以共享csv文件数据(以及其他内容)。
class run_schedule():
def __init__(self,master):
self.master = master
self.sch_file = master.sch_file #### sch.file is retrieved from master
self.continue_task = master.continue_task
self.tasks_total = master.tasks_total
self.loop()
如您所见,在下面的代码中,我可以在不同的标签中有多个日程表
now-可以使用GUI更新计划并保存csv文件(schedule_GUI
的一部分),但是当它发生时,它不会更新sch__file
中的run_schedule
。
问题:主人如何更新其孩子?
init_parameters()
##Initialize GUI
root = Tk()
root.title("Advanced Schedualer")
note = tkinter.ttk.Notebook(root)
tab1 = tkinter.ttk.Frame(note)#,height=40)
tab2 = tkinter.ttk.Frame(note)
note.add(tab1, text = "Tab One", compound=TOP)
note.add(tab2, text = "Tab Two")
note.grid()
#Create GUI in TAB@
gui1 = schedule_GUI(tab1, num_switches)
gui2 = schedule_GUI(tab2, num_switches)
#Run Loop Shedules
loop1 = run_schedule(gui1)
loop2 = run_schedule(gui2)
root.mainloop()
答案 0 :(得分:0)
举一个例子,我编写了这段代码来演示不同类(内部和外部)之间的传递值:
class A:
class C:
def __init__(self, master, v, i):
self.x = v + i
print("C variable was created")
print("in C Class, and my master is:", master.firstname)
self.CB = B(master) # create B Class var and passing A Class as Master
def print_c(self):
print("running function print_c inside Class C", self.x)
def __init__(self, first, last, birthday, *args):
print("A class variable was created")
self.firstname = first
self.lastname = last
self.bday = birthday
#self.email()
self.c1 = self.C(self, *args) #Create C Class variable
def email(self):
def doit(arg1):
print("this is value inside", arg1)
print(self.firstname + '.' + self.lastname + '@' + 'gmail.com')
doit(self.bday)
print("this is value outside", self.bday)
class B:
def __init__(self, master):
print("B Class created, inheret A Class parameters via a C Class:", master.firstname, master.lastname)
#running script :
a1 = A("Jhon", 'Doe', '13/12/1985', 11, 12) # create a1- an A Class variable with parameters
print("My email value from A Class:", a1.email()) # calling methon "email" belongs to a1
a1.c1.print_c() # calling c1 variable, part of a1 variable declared earlier