我正在为一项任务编写一个 Tkinter GUI,并且在访问类方法时遇到了一些问题。我在这里粘贴的第一段代码是顶级接口类。代码的主要功能创建了这个类的一个实例,其中“master”是和 Tk() 的实例。
class PlotApp(object):
"""
Top level interface. Contains canvas and other widgets.
"""
def __init__(self, master):
# Initialise variables, world screen class and window features
master.wm_minsize(740, 480)
master.configure(bg = "gray80")
self.isFunctionDrawn = False
# Create objects
self.pointf = PointFrame(master)
self.canvas = Canvas(master, bg = "white", bd = 2, relief = SUNKEN,
highlightbackground = "gray80")
self.canvas.pack(expand = True, fill = BOTH, padx = 10, side = TOP)
self.functionf = FunctionFrame(master)
self.plotf = PlotFrame(master)
self.buttonf = ButtonFrame(master, self.canvas)
self.functionf
是我的FunctionFrame
类的一个实例,其中包含一个名为getFunction()
. 我想要类实例中的一个按钮ButtonFrame
来访问这个方法,但我不知道该怎么做。我试过了:
def testFunction(self):
self.parent.functionf.getFunction()
(代码的第一位中parent
的master
参数在哪里)但这似乎是functionf
作为 的对象调用的Tk()
,这显然是行不通的。有没有办法解决?