这是我第一次使用 pyhton 创建图形界面,我很难理解父母和孩子之间的联系。
我首先在一个单独的线程中创建根窗口:
import tkinter as tk
import threading as th
class GUI(th.Thread):
def __init__(self):
th.Thread.__init__(self)
self.root = tk.Tk()
self.gp = MainFrame(self.root)
def start(self):
self.root.mainloop()
def stop(self):
self.root.destroy()
该类的构造函数调用主框架的构造函数:
class MainFrame(tk.Frame):
def __init__(self,parent):
tk.Frame.__init__(self,parent)
self.x=my_label(self)
self.up=my_update(self)
self.grid()
在这个主框架中,我只有两个简单的元素,它们的类是:
class my_label(tk.Frame):
def __init__(self,parent):
tk.Frame.__init__(self,parent)
self.l = tk.Label(self,text="some text")
self.l.grid()
self.grid()
class my_update(tk.Frame):
def __init__(self,parent):
tk.Frame.__init__(self,parent)
self.b=tk.Button(self,text="update",command=self.ButtonPushed)
self.b.grid()
self.grid()
def ButtonPushed(self):
# here is my problem...
这样做是可行的,但是当我单击更新按钮时,我想修改x
(在 中MainFrame
)。换句话说,我想从一个孩子修改另一个父母的孩子……我该怎么做?
附带问题:我的图形界面的一般结构是否正确?我的意思是, letmy_update
和my_label
继承 from是否正确tk.Frame
?