0

我想知道mainloop()函数的可选整数参数。python.org 和 youtube 上没有关于此的文档。


第一个代码:在主循环中不传递参数

from tkinter import *

def fun():
    global i
    print("hello", i)
    i += 1
    root.mainloop()
    print("Hi", i)
    return

i = 0
root = Tk()
button1 = Button(root, text="click", command=fun)
button1.pack()
root.mainloop()

print("end")

输出:单击按钮 3 次并关闭窗口

hello 0
hello 1
hello 2
Hi 3
Hi 3
Hi 3
end

第二个代码:在主循环中传递 i

from tkinter import *

def fun():
    global i
    print("hello", i)
    i += 1
    root.mainloop(i)
    print("Hi", i)
    return

i = 0
root = Tk()
button1 = Button(root, text="click", command=fun)
button1.pack()
root.mainloop(i)

print("end")

输出:单击按钮 3 次并关闭窗口

hello 0
Hi 1
hello 1
Hi 2
hello 2
Hi 3
end

没有参数的代码以一种可疑的方式工作,我认为这可能是由于递归。

4

0 回答 0