所以,我有以下代码示例:
from Tkinter import *
import socket
def click(*args):
sock = socket.socket()
try:
sock.connect(('localhost', 9999))
sock.send(args)
except socket.error:
print 'server is not runing'
pass
root = Tk()
root.bind("<Button-1>", click)
mainloop()
这看起来很清楚:你运行代码,Tkinter 窗口到达,你点击它,它打印“服务器没有运行”,因为没有服务器在 9999 端口运行。
但是,如果您将绑定函数的调用从click
toclick("wtf")
或什至更改为click()
,脚本将在窗口出现后立即打印消息,然后再实际单击它。
为什么会发生这样的事情?