Kivy 教程

Kivy - 主页

Kivy 基础知识

Kivy - 入门 Kivy - 安装 Kivy - 架构 Kivy - 文件语法 Kivy - 应用程序 Kivy - Hello World Kivy - 应用生命周期 Kivy - 事件 Kivy - 属性 Kivy - 输入 Kivy - 行为

Kivy 按钮

Kivy - 按钮 Kivy - 按钮事件 Kivy - 按钮颜色 Kivy - 按钮大小 Kivy - 按钮位置 Kivy - 圆形按钮 Kivy - 禁用按钮 Kivy - 图片按钮

Kivy 小部件

Kivy -小部件 Kivy - 标签 Kivy - 文本输入 Kivy - 画布 Kivy - 线条 Kivy - 复选框 Kivy - 下拉列表 Kivy - 窗口 Kivy - ScrollView Kivy - 轮播 Kivy - 滑块 Kivy - 图像 Kivy - 弹出窗口 Kivy - 开关 Kivy - 旋转器 Kivy - 拆分器 Kivy - 进度条 Kivy - 气泡 Kivy - 选项卡式面板 Kivy - 散点图 Kivy - 手风琴 Kivy - 文件选择器 Kivy - 颜色选择器 Kivy - 代码输入 Kivy - 模态视图 Kivy - 切换按钮 Kivy - 相机 Kivy - 树形视图 Kivy - reStructuredText Kivy - 操作栏 Kivy - 视频播放器 Kivy - 模板视图 Kivy - VKeyboard Kivy - 触摸涟漪 Kivy - 音频 Kivy - 视频 Kivy - 拼写 Kivy - 效果 Kivy - 输入记录器 Kivy - OpenGL Kivy - 文本 Kivy - 文本标记 Kivy - 设置

Kivy 布局

Kivy - 布局 Kivy - 浮动布局 Kivy - 网格布局 Kivy - 框布局 Kivy - 堆栈布局 Kivy - 锚点布局 Kivy - 相对布局 Kivy - 页面布局 Kivy - 循环布局 Kivy - 布局中的布局

Kivy 高级概念

Kivy - 配置对象 Kivy - Atlas Kivy - 数据加载器 Kivy - 缓存管理器 Kivy - 控制台 Kivy - 动画 Kivy - MultiStroke Kivy - 时钟 Kivy - SVG Kivy - UrlRequest Kivy - 剪贴板 Kivy - 工厂 Kivy - 手势 Kivy - 语言 Kivy - 图形 Kivy - 绘图 Kivy - 打包 Kivy - Garden Kivy - 存储 Kivy - 矢量 Kivy - Utils Kivy - Inspector 工具 Kivy - 工具 Kivy - 日志 Kivy - 帧缓冲区

Kivy 应用程序和项目

Kivy - 绘图应用程序 Kivy - 计算器应用程序 Kivy - 秒表应用程序 Kivy - 相机处理 Kivy - 图像查看器 Kivy - 贝塞尔曲线 Kivy - 画布应力 Kivy - 圆形绘制 Kivy - 小部件动画 Kivy - 杂项

Kivy - 缓存管理器

在 Kivy 框架中,Cache 类通过将一个或多个 Python 对象分配为唯一键的值来存储它们。Kivy 的缓存管理器通过限制其中的对象数量或 对其访问设置超时限制来控制其中的对象。

Cache 类在"kivy.cache"模块中定义。它包括静态方法:register()、append()、get() 等。

首先,您需要通过设置最大对象数和超时在缓存管理器中注册一个类别。

from kivy.cache import Cache
Cache.register(category='mycache', limit=10, timeout=5)

您现在可以添加最多 10 个 Python 对象,每个对象都有一个唯一的键。

key = 'objectid'
instance = Label(text=text)
Cache.append('mycache', key, instance)

get() 方法从缓存中检索对象。

instance = Cache.get('mycache', key)

Cache 类定义以下方法和属性

register() 方法

此方法在缓存中注册一个具有指定限制的新类别。它具有以下参数 −

  • category − 类别的字符串标识符。

  • limit − 缓存中允许的最大对象数。如果为 None,则不应用任何限制。

  • timeout − 对象从缓存中删除的时间。

append() 方法

此方法将新对象添加到缓存中。定义以下参数 −

  • category − 类别的字符串标识符。

  • key − 要存储的对象的唯一标识符。

  • obj − 要存储在缓存中的对象。

  • timeout − 如果对象未使用,则在此时间之后删除该对象。如果使用 None 作为键,则会引发 ValueError。

get() 方法

此方法用于从缓存中获取对象,具有以下参数 −

  • category − 类别的字符串标识符。

  • key −存储中对象的唯一标识符。

  • default − 如果未找到键,则返回默认值。

示例

查看以下示例 −

from kivy.cache import Cache
from kivy.uix.button import Button
from kivy.uix.label import Label

Cache.register(category='CacheTest', limit=5, timeout=15)

b1 = Button(text='Button Cache Test')
Cache.append(category='CacheTest', key='Button', obj=b1)

l1 = Label(text='Label Cache Test')
Cache.append(category='CacheTest', key='Label', obj=l1)

ret = (Cache.get('CacheTest', 'Label').text)
print (ret)

输出

它将产生以下输出 −

Label Cache Test