- 主题:如何在循环过程中更新界面?
python pyqt5程序
循环计算1.5-2分钟,期间想显示一下计算进程,
动态设置了一个label的内容,可是循环期间界面
假死,不能显示更新内容,这咋办?
查了一下各种thread操作似乎都有点问题,没法顺利实现,
Python里面没有类似VB里那种循环期间DoEvents()这样
的东西抽时间处理一下界面更新么?
--
FROM 222.211.250.*
【 在 lotama 的大作中提到: 】
: python pyqt5程序
: 循环计算1.5-2分钟,期间想显示一下计算进程,
: 动态设置了一个label的内容,可是循环期间界面
: ...................
哟,大模型回答的不错:
在Python中,没有直接与VB中的DoEvents函数相对应的功能。但是,你可以使用QApplication.processEvents()方法来实现类似的效果。这个方法会处理当前的事件队列,包括界面的刷新和响应。
--
FROM 222.211.250.*
我写过一篇文章讨论过这个问题,给出了几种方案:
https://hgoldfish.com/blogs/article/78/
【 在 lotama 的大作中提到: 】
: python pyqt5程序
: 循环计算1.5-2分钟,期间想显示一下计算进程,
: 动态设置了一个label的内容,可是循环期间界面
: ...................
--
FROM 183.253.143.*
你的什么版本cterm
【 在 callmebbser 的大作中提到: 】
: 在CTerm中,点击黄金鱼的这个链接,居然和点击weibo.com的链接一样,
: 都是打开了大写的网址。
: CTerm的这个bug什么时候能修正啊?
: ...................
--
FROM 121.33.161.*
在 PyQt 里面不建议使用 Qt 的 QProcess 和 QThread,因为他们不太兼容 python 虚拟机,在某些情况下会导致崩溃。强烈建议使用 python 的 multiprocessing 和 threading 模块来代替。
【 在 ToSimplicity 的大作中提到: 】
: 起QProcess或者QThread做计算吧
: 比如后台抓数据什么的, 都这样
: UI其实是一个loop, 你在内部再搞一个, 外面的就转不动啦
: ...................
--
FROM 110.81.1.*
关于CTerm
CTerm
版本号:3.6.6 build: 2021-05-21 08:54:08
版权所有(C),保留所有权利.
2003-2019 陈琦,Bat Li, nullspace.
2001-2002 陈琦,Flier Lu, 易得方舟.
1999-2001 陈琦,易得方舟.
1997-1999 陈琦.
特别感谢 Hendy@byhh/smth 在显IP地址、图片浏览、附件上传等功能中给予的大力支持
和无私帮助。
同时感谢: pred@smth, kxn@smth, kingson@smth, asker@smth, Metalslug@byhh, GC
Ser@byhh, etc.
【 在 iMx 的大作中提到: 】
: 你的什么版本cterm
--
FROM 119.233.179.*
我还在用3.6.3
【 在 callmebbser 的大作中提到: 】
: 关于CTerm
: CTerm
: 版本号:3.6.6 build: 2021-05-21 08:54:08
: ...................
--
FROM 121.33.161.*
我的实现方法和流程是:
1)用Toplevel生成一个临时对话框,并在对话框中添加progressbar和label控件,并关联相关变量
2)主程序可以继续执行,然后在执行过程中更新相关变量的值
3)当完成相关计算或过程,直接destory 生成的临时对话框
--
FROM 120.245.98.*