我试图从当前类之外调用reset
函数(这最终会调用多个类上的reset),但我得到的似乎是再次运行完整类的程序,而不仅仅是该类中的函数。你知道吗
怎么回事?你知道吗
from tkinter import *
root = Tk()
class Scores1(Frame):
def __init__(self, parent=None, **kw):
Frame.__init__(self, parent, kw)
self.team1 = 888
self.team1str = StringVar()
self.teamA()
def teamA(self):
self.team1str.set('%03d' % (self.team1))
t1 = Label(textvariable=self.team1str, font=("Digiface", 120), fg='#fffd80000', bg='black')
t1.grid()
def ScoreA1(self):
self.team1 = self.team1 + 1
self.team1str.set('%03d' % (self.team1))
def Reset(self):
self.team1 = 0
self.team1str.set('%03d' % (self.team1))
class Resetter(Frame):
def __init__(self, parent=None, **kw):
Frame.__init__(self, parent, kw)
def reset(self):
Scores1().Reset
def main():
sc1 = Scores1(root)
sc1.grid(row=0, column=0)
res = Resetter(root)
sc1.configure(highlightbackground='white', highlightthickness=2)
root.configure(background = 'black')
Button(root, text='Team A +1', command=sc1.ScoreA1).grid(row=1, column=0)
Button(root, text='ResetInside', command=sc1.Reset).grid(row=2, column=0)
Button(root, text='ResetOutside', command=res.reset).grid(row=3, column=0)
root.mainloop()
if __name__ == '__main__':
main()
首先,您的代码中有一个输入错误:
创建
Scores1
的新实例,然后返回方法Reset
。要实际调用Reset
,请附加()
。你知道吗下一个问题是
Scores1()
创建一个新实例。但是您想在sc1
上调用Reset()
。解决方法是将sc1
传递给Resetter
:相关问题 更多 >
编程相关推荐