回调只是用户提供的钩子.它们允许您指定在某些事件发生时要调用的函数.re.sub有一个回调,但听起来你正在处理一个GUI,所以我将给出一个GUI示例:
这是一个非常简单的回调示例:
from Tkinter import *
master = Tk()
def my_callback():
print('Running my_callback')
b = Button(master, text="OK", command=my_callback)
b.pack()
mainloop()
Run Code Online (Sandbox Code Playgroud)
按下OK按钮时,程序将打印"Running my_callback".
如果你玩这个代码:
from Tkinter import *
import time
master = Tk()
def my_callback():
print('Starting my_callback')
time.sleep(5)
print('Ending my_callback')
def my_callback2():
print('Starting my_callback2')
time.sleep(5)
print('Ending my_callback2')
b = Button(master, text="OK", command=my_callback)
b.pack()
b = Button(master, text="OK2", command=my_callback2)
b.pack()
mainloop()
Run Code Online (Sandbox Code Playgroud)
你会看到按下任一按钮阻止GUI响应,直到回调结束.因此,"用户也必须等到特定的API函数完成".