影响用于调用函数的 class
Affect the class used to called a function
我想知道是否有一种方法可以创建一个会影响调用它的 class 的函数。例如,下面的 'change text' 函数将更改我的 class 实例 'testing' 的文本,但我想知道是否有一种方法可以设置它,而不是专门 testing.label['text'],'testing' 可以更改为关键字,该关键字将引用用于调用函数的 class 的任何实例。
root = Tk()
def change_text:
testing.label['text'] = "New Text"
class MyGui:
def __init__(self, master):
frame = Frame(master)
frame.pack()
master.geometry("250x100")
master.wm_title("Register App")
self.label = Label(frame, text="Original Text", fg="Black")
self.label.grid(row = 0, column = 0, columnspan = 3)
self.changeButton = Button(frame, text="Change Text", command=change_text)
self.changeButton.grid(row = 2, column = 2)
testing = MyGui(root)
testing
所以,如果我没说清楚的话,我想创建一个函数,如果被不同 class、'MyGui2' 的实例调用,它将操纵其 .标签函数。
看看Object Orientation;具有通用方法的基础 class 可以在此处为您提供帮助:
class BaseGui(object):
def change_text(self, newText):
self.label['text'] = newText
class MyGui(BaseGui):
...
testing = MyGui(root)
testing.change_text('New text')
我想知道是否有一种方法可以创建一个会影响调用它的 class 的函数。例如,下面的 'change text' 函数将更改我的 class 实例 'testing' 的文本,但我想知道是否有一种方法可以设置它,而不是专门 testing.label['text'],'testing' 可以更改为关键字,该关键字将引用用于调用函数的 class 的任何实例。
root = Tk()
def change_text:
testing.label['text'] = "New Text"
class MyGui:
def __init__(self, master):
frame = Frame(master)
frame.pack()
master.geometry("250x100")
master.wm_title("Register App")
self.label = Label(frame, text="Original Text", fg="Black")
self.label.grid(row = 0, column = 0, columnspan = 3)
self.changeButton = Button(frame, text="Change Text", command=change_text)
self.changeButton.grid(row = 2, column = 2)
testing = MyGui(root)
testing
所以,如果我没说清楚的话,我想创建一个函数,如果被不同 class、'MyGui2' 的实例调用,它将操纵其 .标签函数。
看看Object Orientation;具有通用方法的基础 class 可以在此处为您提供帮助:
class BaseGui(object):
def change_text(self, newText):
self.label['text'] = newText
class MyGui(BaseGui):
...
testing = MyGui(root)
testing.change_text('New text')