Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >相当于Kivy/KivyMD中的`wx.CallLater()`,或者如何处理`time.sleep()`冻结图形用户界面?

相当于Kivy/KivyMD中的`wx.CallLater()`,或者如何处理`time.sleep()`冻结图形用户界面?
EN

Stack Overflow用户
提问于 2021-06-20 14:52:34
回答 1查看 48关注 0票数 0

我正在尝试用KivyMD/Kivy做一个应用程序,我想多次更改标签的文本,两次更改之间有几秒钟的时间间隔。我最初尝试用time.sleep()来做这件事,但这完全冻结了图形用户界面,这使得标签发生了变化,这样就不起作用了。

我已经看到wxPython有一个wx.CallLater()函数(如果我没理解错的话),它会在一段时间内调用某个函数,而不会冻结图形用户界面。在this thread中,人们都在谈论线程,但它似乎在没有修复最初问题的情况下引发了另一个问题,所以我真的不确定这在我的情况下是否有效。

那么,线程是可行的吗?在Kivy中有没有wx.CallLater()的等价物,或者有没有其他更好的解决方案呢?

工作测试代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from kivymd.app import MDApp
from kivy.lang import Builder
import time

KV = '''
MDScreen:

    MDFillRoundFlatIconButton:
        id: button
        icon: 'git'
        on_release: app.some_func()
'''


class Test(MDApp):
    def build(self):
        return Builder.load_string(KV)

    def some_func(self):
        for i in range(3):
            self.root.ids.button.text = str(3 - i)
            time.sleep(3)

        self.root.ids.button.text = 'Go'


Test().run()
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-06-22 15:47:05

正如@John Anderson所建议的,来自kivy.clockClock对象具有与wx.CallLater()实现相同功能的方法。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from kivy.clock import Clock

# to schedule an event once:
Clock.schedule_once(lambda _: some_function(), in_x_seconds)

# to schedule an event repeatedly:
Clock.schedule_interval(lambda _: some_function(), every_x_seconds)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68057044

复制
相关文章
Kivy 图形界面开发初体验
•跨平台 Kivy 。编写的程序可在 Linux,Windows,OS X,Android,iOS 和 Raspberry Pi 上运行。•商业友好 。Kivy 基于 MIT 许可证进行开源,可以进行免费的商业使用。•GPU 加速 。Kivy 的图像引擎基于 Open ES 2 构建,性能出众。
州的先生
2021/02/03
8.7K0
Kivy 图形界面开发初体验
Kivy 5种常用图形界面布局初探
它就像人体的骨骼、房屋的钢筋混凝土梁架,支撑起整个图形界面、条理好各个小部件的位置。
州的先生
2021/03/03
3.7K0
Kivy 5种常用图形界面布局初探
图形用户界面入门
EasyGUI 是 Python 中一个非常简单的 GUI 编程模块,不同于其他的 GUI 生成器,它不是事件驱动的。相反,所有的 GUI 交互都是通过简地函数调用就可以实现。
清菡
2020/12/02
9410
图形用户界面入门
[javaSE] GUI(图形用户界面)
调用Frame对象的setSize()方法,设置尺寸,参数:int的宽度,int的高度
唯一Chat
2019/09/10
9030
[javaSE] GUI(图形用户界面)
python图形用户界面(一):创建第一个GUI图形用户界面
本系列课程是针对无基础的,争取用简单明了的语言来讲解,学习前需要具备基本的电脑操作能力,准备一个已安装python环境的电脑。如果觉得好可以分享转发,有问题的地方也欢迎指出,在此先行谢过。
叶子陪你玩
2020/03/19
1.7K0
python图形用户界面(一):创建第一个GUI图形用户界面
图形用户界面和游戏开发
GUI是图形用户界面的缩写,图形化的用户界面对使用过计算机的人来说应该都不陌生,在此也无需进行赘述。Python默认的GUI开发模块是tkinter(在Python 3以前的版本中名为Tkinter),从这个名字就可以看出它是基于Tk的,Tk是一个工具包,最初是为Tcl设计的,后来被移植到很多其他的脚本语言中,它提供了跨平台的GUI控件。当然Tk并不是最新和最好的选择,也没有功能特别强大的GUI控件,事实上,开发GUI应用并不是Python最擅长的工作,如果真的需要使用Python开发GUI应用,wxPython、PyQt、PyGTK等模块都是不错的选择。
用户8442333
2021/05/19
1.7K0
课时35:图形用户界面入门
本章介绍的是图形用户界面编程,也就是平时所说的GUI(读作【gu:i】)编程,那些带有按钮、文本、输入框的窗口的编程,相信大伙都不会陌生。
py3study
2020/01/19
8160
课时35:图形用户界面入门
python图形用户界面(二):如何给GUI界面添加一个按钮?
本系列课程是针对无基础的,争取用简单明了的语言来讲解,学习前需要具备基本的电脑操作能力,准备一个已安装python环境的电脑。如果觉得好可以分享转发,有问题的地方也欢迎指出,在此先行谢过。
叶子陪你玩
2020/03/23
2.3K0
python图形用户界面(二):如何给GUI界面添加一个按钮?
python图形用户界面(三):如何简单高效地实现GUI界面设计??
本系列课程是针对无基础的,争取用简单明了的语言来讲解,学习前需要具备基本的电脑操作能力,准备一个已安装python环境的电脑。如果觉得好可以分享转发,有问题的地方也欢迎指出,在此先行谢过。
叶子陪你玩
2020/03/25
2.8K0
Python 界面工具--Kivy 初尝试
Kivy是一个开源工具包能够让使用相同源代码创建的程序能跨平台运行。它主要关注创新型用户界面开发,如:多点触摸应用程序。Kivy还提供一个多点触摸鼠标模拟器, Kivy基于Cython(C extensions for Python)构建,所以开发需要懂得Python语言。当前支持的平台包括:Linux、Windows、Mac OS X和Android。这样可以用python开发各种平台的包。
雷子
2021/03/15
1.8K0
Python 界面工具--Kivy 初尝试
ETH被冻结_微信冻结显示什么界面
如果我们的电脑在启动挖矿软件的时候,发现界面有停顿,Miner都会冻结。有时矿工会随机冻结,直到按下任何键。
全栈程序员站长
2022/11/04
1.3K0
ETH被冻结_微信冻结显示什么界面
three.js 图形用户界面工具GUI
今天郭先生来说一说three.js的一个图形用户界面工具gui,如下图,在线案例点击three.js-GUI。
郭先生的博客
2020/08/31
5K0
three.js 图形用户界面工具GUI
python图形用户界面:教你实现一个gif处理软件(下)
之前写过如何实现gif处理工具的案例,演示了效果和分析了实现的步骤,这篇就来讲讲具体的代码实现。
叶子陪你玩
2020/04/24
7780
rust + gnome.gtk 实现的【图形用户界面】版 [npm - inquirer]
Github工程入口:https://github.com/stuartZhang/scaffold-wizard#scaffold-wizard
MikeLoveRust
2022/06/10
1.7K0
rust + gnome.gtk 实现的【图形用户界面】版 [npm - inquirer]
Java中的图形界面编程-GUI
GUI是图形用户界面,在Java中,图形用户界面我们用GUI表示,而GUI的完整英文为: Graphical User Interface(图形用户接口), 所谓图形用户界面就是以图形的方式来显示你计算机的操作界面, 我们计算机中操作的界面就是 我们Java中常说的图形用户界面, 这样的操作简单明了.
达达前端
2022/04/29
2.1K0
Java中的图形界面编程-GUI
Java基础-25(02)图形用户界面编程GUI
G:一级菜单 package cn.itcast_08; import java.awt.FlowLayout; import java.awt.Frame; import java.awt.Menu; import java.awt.MenuBar; import java.awt.MenuItem; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.WindowAd
Java帮帮
2018/03/16
1.9K0
Java基础-25(06)图形用户界面编程GUI
package cn.itcast.view;(7) import cn.itcast.util.UiUtil; import java.util.logging.Level; import java.util.logging.Logger; import javax.swing.JOptionPane; import javax.swing.UIManager; import javax.swing.UnsupportedLookAndFeelException; public class NewJFr
Java帮帮
2018/03/16
8650
PandasGUI:使用图形用户界面分析 Pandas 数据帧
数据预处理是数据科学管道的重要组成部分,需要找出数据中的各种不规则性,操作您的特征等。Pandas 是我们经常使用的一种工具,用于处理数据,还有 seaborn 和 matplotlib用于数据可视化。PandasGUI 是一个库,通过提供可用于制作
润森
2022/09/22
3.9K0
PandasGUI:使用图形用户界面分析 Pandas 数据帧
java--第11章 图形用户界面编程
     swing:在awt的基础上建立的一套图形界面系统,属于Javax扩展包下。其中提供了更多的组件。而且完全由Java实现增强了移植性,属轻量级控件。
北山啦
2022/11/27
6990
java--第11章 图形用户界面编程
Java基础-25(03)图形用户界面编程GUI
B:登录注册 package cn.itcast.util;(1) import java.awt.Dimension; import java.awt.Image; import java.awt.Toolkit; import javax.swing.JFrame; /** * 专门做界面效果的类 * * @author Administrator */ public class UiUtil { private UiUtil() { } //修改窗体的图标 pu
Java帮帮
2018/03/16
1K0

相似问题

如何避免图形用户界面冻结?

50

如何避免图形用户界面冻结?

226

FireDac冻结图形用户界面

13

InvokeLater冻结图形用户界面

25

Java图形用户界面冻结

23
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文