【发布时间】:2019-01-25 15:48:28
【问题描述】:
我是 Python 的新手,我正在尝试开发一种假数据生成器软件,让数据科学家能够更快地学习。 我的问题是关于我们如何从 tkinter 对象类之间的子方法调用方法。我有创建根窗口的根类和创建顶层(子窗口)的顶层类。 我的子窗口类需要更新根窗口中的小部件,而我做不到。
enter code here
class Menu():
def __init__(self,master):
....
def openwindow(self):
secondwindow = my_sub_window(root)
def dosomething(self):
....
class my_sub_window():
def __init__(self, master):
update_root()
def update_root(self):
dosomething() # How can I call dosomething method in Menu() class?
root = Tk()
myApp = Menu(root)
root.mainloop()
【问题讨论】:
-
如果你有两个菜单怎么办?
my_sub_window类如何知道哪个应该处理dosomething?如果你在想“这永远不会发生。我确定我只会有一个菜单”,那么你应该首先考虑菜单是否需要成为一个类。 (我并不是说它绝对不应该是一门课;只是要考虑的事情) -
您使用以下语法
Class.Method()调用类方法。你的例子是Menu.dosomething(self) -
@gbeaven:如果调用者中的
self不是Menu的实例,那可能不会像你期望的那样工作。 -
@BryanOakley 好点。
标签: python class tkinter methods