tkinter!!!

370 阅读1分钟

刚才做tkinter优化又出问题了! 以下是我用最简单的函数调试了一段时间找到的错误和解决办法

from tkinter import *
def f1(ab, bc,e,f):
        print('我已经开始运行了')
        c = 1 + ab +e
        #c = 1+1+3=5 d=9+2+5=16
        d = 9 + bc+f
        print("我是c",c)
        print(d)
def f2():
        aa = Tk()
        ab = 1
        bc = 1
        e = 3
        f = 5
        bb = Button(aa,text = '01',command = f1(ab,bc,e,f))
        bb.pack()
a = Tk()
b = Button(a,text = '00',command=f2)
b.pack()
a.mainloop()

如果是这样给f1传参的话,在执行f2的同时,会自动帮你运行f1(ab,bc,e,f)啊!!! 正确的写法是 command = lambda :f1(ab,bc,e,f) 这样才会在用户按下第二个按钮才继续执行下面的内容