等待套接字数据时如何使tkinter响应事件?

等待套接字数据时如何使tkinter响应事件?,第1张

等待套接字数据时如何使tkinter响应事件?

那很容易!而且您甚至不需要线程!但是,您必须稍微重组I /
O代码。Tk与Xt的XtAddInput()调用等效,它允许您注册一个回调函数,当在文件描述符上可以进行I /
O时,将从Tk主循环调用该函数。这是您需要的:

from Tkinter import tkintertkinter.createfilehandler(file, mask, callback)

该文件可以是Python文件或套接字对象(实际上是具有fileno()方法的任何对象),也可以是整数文件描述符。掩码是常量tkinter.READABLE或tkinter.WRITABLE之一。回调调用如下:

callback(file, mask)

完成后,您必须使用以下方法取消注册回调

tkinter.deletefilehandler(file)

注意:由于您不知道可以读取多少字节,因此无法使用Python文件对象的read或readline方法,因为这些方法将坚持读取预定义的字节数。对于套接字,recv()或recvfrom()方法可以正常工作;对于其他文件,请使用

os.read(file.fileno(),maxbytecount).



欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5647952.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存