目录
工具类¶
Utils 模块提供了一系列通用工具函数和类,这些可能对各种应用场景有所帮助。其中包括数学、颜色、代数以及平台相关的功能。
在 1.6.0 版本发生变更: OrderedDict 类已被移除。请改用 collections.OrderedDict。
- class kivy.utils.QueryDict[源代码]¶
基类:
dictQueryDict 是一个可以使用点号进行查询的 dict()。
d = QueryDict() # create a key named toto, with the value 1 d.toto = 1 # it's the same as d['toto'] = 1
在 1.0.4 版本加入.
- kivy.utils.escape_markup(text)[源代码]¶
转义文本中发现的标记字符。此方法旨在当Label上启用了标记文本时使用。
untrusted_text = escape_markup('Look at the example [1]') text = '[color=ff0000]' + untrusted_text + '[/color]' w = Label(text=text, markup=True)
在 1.3.0 版本加入.
- kivy.utils.format_bytes_to_human(size, precision=2)[源代码]¶
将字节值格式化为人类可读的表示形式(B、KB、MB...)。
在 1.0.8 版本加入.
- 参数:
- size:整数
表示字节值的数字。
- precision:整数,默认值为2
逗号后的精度
示例::
>>> format_bytes_to_human(6463) '6.31 KB' >>> format_bytes_to_human(646368746541) '601.98 GB'
- kivy.utils.get_hex_from_color(color)[源代码]¶
将kivy的:class:`~kivy.graphics.Color`转换为十六进制值:
>>> get_hex_from_color((0, 1, 0)) '#00ff00' >>> get_hex_from_color((.25, .77, .90, .5)) '#3fc4e57f'
在 1.5.0 版本加入.
- kivy.utils.get_random_color(alpha=1.0)[源代码]¶
返回一个随机颜色(4元组)。
- 参数:
- alpha:浮点数,默认值为 1.0
如果 alpha == 'random',则会生成一个随机的 alpha 值。
- kivy.utils.interpolate(value_from, value_to, step=10)[源代码]¶
通过提供两点之间比例的倒数,在两个值之间进行插值。
自 2.3.0 版本弃用: 对于动画,可考虑使用 AnimationTransition.linear() 以达到类似目的。
警告
这些插值仅适用于维度相同的列表/元组/双精度数。不会进行任何测试来检查维度是否相同。
- kivy.utils.platform = 'linux'¶
一个标识当前操作系统的字符串。其值可能为:'win'、'linux'、'android'、'macosx'、'ios' 或 'unknown'。您可以按如下方式使用它:
from kivy.utils import platform if platform == 'linux': do_linux_things()
在 1.3.0 版本加入.
在 1.8.0 版本发生变更: platform 现在是一个变量,而不是函数。
- class kivy.utils.reify(func)[源代码]¶
基类:
object在首次调用后,将使用此(非数据)描述符装饰器的方法结果存入实例字典中,从而有效地用实例变量替换该装饰器。
它的行为类似于@property,但该函数只会被调用一次;之后,该值会作为常规属性被缓存。这为那些设计为不可变的对象提供了惰性属性创建的功能。
取自 Pyramid 项目。
要将其用作装饰器:
@reify def lazy(self): ... return hard_to_compute_int first_time = self.lazy # lazy is reify obj, reify.__get__() runs second_time = self.lazy # lazy is hard_to_compute_int
- kivy.utils.strtotuple(s)[源代码]¶
将元组字符串转换为元组,并附带一些安全检查。设计用于与eval()函数配合使用:
a = (12, 54, 68) b = str(a) # return '(12, 54, 68)' c = strtotuple(b) # return (12, 54, 68)