鱼C论坛

 找回密码
 立即注册
查看: 806|回复: 11

[已解决]请教一个问题,关于tkinter的

[复制链接]
发表于 2020-4-20 20:17:06 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 llsl 于 2020-4-20 20:19 编辑

我想在一个循环里不断更改一个label的内容,并每次都让他显示出来,
但是循环执行很快,只能看到最后的结果,
于是我想用time.sleep在每次循环结束时停止1秒,但是还是不显示,程序会卡住,
请问一下,有没有什么办法解决这个问题呢?
还有就是要自动地显示,不用人为干预
最佳答案
2020-4-21 10:53:19
刷新label的文本后加一句试试
#window=Tk()
window.update()
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-4-20 20:18:02 | 显示全部楼层
"卡住"是什么意思?
是程序停止了1秒然后才运行?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-20 20:20:04 | 显示全部楼层
卡是必须的。显示最后结果也是必须的。

一个进程一个线程执行肯定是顺序的,执行完代码1, 才能代码2。

一句话,要实现你的功能。   多线程
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-20 20:20:43 | 显示全部楼层
qiuyouzhi 发表于 2020-4-20 20:18
"卡住"是什么意思?
是程序停止了1秒然后才运行?

不是,是中途不显示内容,卡了一会之后正常,并且只显示最后一次更改的label内容
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-20 20:21:31 | 显示全部楼层
llsl 发表于 2020-4-20 20:20
不是,是中途不显示内容,卡了一会之后正常,并且只显示最后一次更改的label内容

那你把那个睡眠的秒数改成0.1
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-20 20:22:37 | 显示全部楼层
ba21 发表于 2020-4-20 20:20
卡是必须的。显示最后结果也是必须的。

一个进程一个线程执行肯定是顺序的,执行完代码1, 才能代码2。
...

有没有相关的帖子,对于多线程目前还不太熟悉
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-20 20:23:57 | 显示全部楼层
llsl 发表于 2020-4-20 20:22
有没有相关的帖子,对于多线程目前还不太熟悉

python 多线程
python 多进程
百度找。先从第1个开始吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-20 20:26:44 | 显示全部楼层
ba21 发表于 2020-4-20 20:23
python 多线程
python 多进程
百度找。先从第1个开始吧

好的多谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-20 20:58:38 From FishC Mobile | 显示全部楼层
用多线程吧,用一个子线程专门负责刷新label的文本,而主线程不必等待子线程执行结束,这样整个程序就不会在sleep的时候卡住了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-20 22:08:41 | 显示全部楼层
楼主,问题解决了吗,我也遇到同样的问题了,我尝试了一下,多线程貌似不好使。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-21 10:53:19 | 显示全部楼层    本楼为最佳答案   
刷新label的文本后加一句试试
#window=Tk()
window.update()
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-24 11:53:27 | 显示全部楼层
NZND 发表于 2020-4-20 22:08
楼主,问题解决了吗,我也遇到同样的问题了,我尝试了一下,多线程貌似不好使。

我加了句label.update()后可以显示了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-26 20:44

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表