python - 使用大量使用 tkinter python 的 MainLoop
问题描述
所以我在学校做一个项目,我正在用 Tkinter 制作一个游戏(我知道我可以使用 PyGame,但我们在学校只学过 Tkinter....)我的游戏也使用套接字,你可能知道一次代码卡在接收整个程序冻结。为了解决这个问题,我所做的是大多数时候我从服务器接收一些东西,我是在一个线程中做的。但是由于没有服务器的回答我无法继续前进,所以我调用了 MainLoop,所以程序将“停止”它,一旦我从客户端获得信息,我就销毁了 MainLoop 并继续我需要的地方......我的问题是它是否可以这样做,如果没有,请帮助我以“好”的方式解决这个问题。
它看起来像这样:
global data
Thread(target=recv)
def recv():
global data
data = my_socket.rceive(1024)
tk.mainlooop()
if data == True:
...Do Something...
解决方案
尝试这个
while true:
Try:
data = my_socket.rceive(1024)
break
Else:
print("Retrying")
推荐阅读
- c# - 如何更改解决方案配置以修复 Travis CI 上的错误 MSB4126?
- javascript - 为什么 JavaScript 不将类似数组的对象转换为数组?
- r - 如何将数据字符串转换为多个列名
- sql - 如何查询 bigQuery 视图定义?
- html - 字体真棒图标显示带问号的圆圈
- f# - 得到相同的错误类型“列表”与 F# 中的类型“int”不匹配
- c# - 在没有 PredicateBuilder 的情况下将谓词动态添加到表达式
- matlab - 在不使用 cftool 的情况下使用命令行中的自定义方程进行曲线拟合
- r - 就地修改优化似乎不适用于具有单个绑定的对象
- javascript - 为什么在 vue js 中使用 v-on click 不调用函数?