while True循环中不能设计ui的文本值,该如何解决
本帖最后由 小马快跑777 于 2024-4-9 21:21 编辑获取的值可以用print打印出来,但是不能用来设置ui中文本的值,有大佬可以解释一下为什么吗? 那ui值是啥?为空还是运行报错?还是乱码?不能让人猜啊 “while True循环问题”标题不合格。请自行修正。(注意:主题发出24小时后就不能修改帖子)
帖子标题必须能充分说明帖子的内容。如你要问AVR的ADC如何才能测量得比较准确,“AVR的ADC如何消除干扰测量得比较准确?”是合格的标题。不合格举例:
1:小女子冰天雪地裸体跪求解决方法
2:救命啊...
3:高手请出招,一个无法解决的AVR问题
4:一个困扰学习单片机初学者,惊动单片机开发者的难题
5:AVR的ADC测量 (点评:你到底是问问题,或是有技术心得与大家分享?) 很多是不能在非主线程里面直接操作ui的 yuyu87 发表于 2024-4-9 21:06
那ui值是啥?为空还是运行报错?还是乱码?不能让人猜啊
(引用自2楼)
就是值没有改变,代码能正常运行
while True循环中不能改变ui文本的值,该如何解决?
yyts 发表于 2024-4-9 21:14很多是不能在非主线程里面直接操作ui的
(引用自4楼)
那该怎么解决呢 切换到 主线成呀,老铁,runOnUiThread zyqcome 发表于 2024-4-10 07:12
切换到 主线成呀,老铁,runOnUiThread
(引用自7楼)
调用其他函数时就可以用setText函数改变文本,但是这个函数中while循环里就不行啊? 用的什么GUI框架呢?有可能整个程序只有一个线程,GUI和你执行的代码共用一个线程,你执行的代码一直占用,GUI更新无法执行。像PYQT是要用信号和槽的方式进行传递/调用 智涅 发表于 2024-4-11 09:08
用的什么GUI框架呢?有可能整个程序只有一个线程,GUI和你执行的代码共用一个线程,你执行的代码一直占用 ...
(引用自9楼)
是pyQT,之前用的栈好像也差不多
智涅 发表于 2024-4-11 09:08
用的什么GUI框架呢?有可能整个程序只有一个线程,GUI和你执行的代码共用一个线程,你执行的代码一直占用 ...
(引用自9楼)
但是在运行其他函数时,datafetch函数还是可以运行并打印参数的,只是不能修改ui中的文本 小马快跑777 发表于 2024-4-11 09:23
但是在运行其他函数时,datafetch函数还是可以运行并打印参数的,只是不能修改ui中的文本 ...
(引用自11楼)
我曾经试过用bound方式绑定label和数据然后主动调用类似update刷界面,用一段时间后部分label的数据就不刷新了,最后还是乖乖全部用信号进行传递。 网上搜subingwen.cn qt多线程,希望能有启发 去掉sleep或者改定时器方式试下
页:
[1]