您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

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

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

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

from Tkinter import tkinter
tkinter.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).

其他 2022/1/1 18:45:55 有505人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶