- 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 - 滚动视图
- 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 - 虚拟键盘
- 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 - 图集
- Kivy - 数据加载器
- Kivy - 缓存管理器
- Kivy - 控制台
- Kivy - 动画
- Kivy - 多笔划
- Kivy - 时钟
- Kivy - SVG
- Kivy - UrlRequest
- Kivy - 剪贴板
- Kivy - 工厂
- Kivy - 手势
- Kivy - 语言
- Kivy - 图形
- Kivy - 绘图
- Kivy - 打包
- Kivy - Garden
- Kivy - 存储
- Kivy - 矢量
- Kivy - 工具库
- Kivy - 检查器
- Kivy - 工具
- Kivy - 日志记录器
- Kivy - 帧缓冲区
- Kivy 应用和项目
- Kivy - 绘图应用
- Kivy - 计算器应用
- Kivy - 计时器应用
- Kivy - 相机处理
- Kivy - 图片查看器
- Kivy - 贝塞尔曲线
- Kivy - 画布压力测试
- Kivy - 圆形绘制
- Kivy - 组件动画
- Kivy - 其他
- Kivy 有用资源
- Kivy - 快速指南
- Kivy - 有用资源
- Kivy - 讨论
Kivy - 工具库
Kivy 库中的“kivy.utils”模块是各种类别(例如数学、颜色、代数函数等)中通用实用函数的集合。
QueryDict
QueryDict 类的对象类似于 Python 的内置 dict 类。此外,它还提供了一种使用点(.)运算符查询对象的方法。
要构造 QueryDict,您可以传递一个包含两个元素的元组列表,也可以传递一个 dict 对象本身。
# list of tuples qd = QueryDict([('a',1), ('b',2)]) print (qd)
列表的每个元组元素都应包含两个项目。第一个项目是键,第二个项目是其值。
{'a': 1, 'b': 2}
另一方面,您可以将 dict 对象本身传递给 QueryDict 构造函数。
qd=QueryDict({'a':1, 'b':2})
虽然可以使用标准 dict 中定义的 [] 运算符获取属于特定键的值,但 QueryDict 提供了一个点运算符。因此,“qd.k”与“qd['k']”相同。请注意,dict 类的 get() 方法也可以与 QueryDict 一起使用。
您可以使用传统的切片运算符赋值或点运算符更新键的值。
qd.a=100 qd['b']=200
请尝试下面的示例:
from kivy.utils import * # list of tuples qd=QueryDict([('a',1), ('b',2)]) print (qd) print (qd.a, qd['a']) qd=QueryDict({'a':1, 'b':2}) print (qd) print (qd.b, qd['b']) print (qd.get('a')) qd.a=100 qd['b']=200 print (qd)
SafeList
Kivy 中的 SafeList 类继承了内置的 list 类。除了从 list 继承的方法外,SafeList 类中还定义了一个新方法 - clear()。它删除列表中的所有项目。
您可以将可变序列(列表)传递给构造函数以创建 SafeList 对象。如果未传递任何参数,则它将创建一个空列表。调用 clear() 方法将删除所有项目。
示例
from kivy.utils import * sl = SafeList([1,2,3,4]) print ("SafeList:",sl) l = [1,2,3,4] sl = SafeList(l) print ("SafeList:",sl) sl.clear() print ("SafeList:",sl)
输出
SafeList: [1, 2, 3, 4] SafeList: [1, 2, 3, 4] SafeList: []
difference()
此函数返回两个列表之间的差值。更具体地说,它从第一个列表中删除在第二个列表中找到的那些项目。
示例
from kivy.utils import * l1=[1,2,3,4] l2=[3,4,5,6] print (l1, l2) print ("l1-l2:",difference(l1,l2)) print ("l2-l1:",difference(l2,l1))
输出
[1, 2, 3, 4] [3, 4, 5, 6] l1-l2: [1, 2] l2-l1: [5, 6]
escape_markup()
Kivy 应用窗口上的标签能够显示标记文本。但是,如果您希望标记符号的效果不起作用,则可以转义文本中找到的标记字符。这旨在用于在标签上激活标记文本时使用。
在下面的示例中,要在标签上显示的文本包含 [b] 和 [/b] 标记标签,这会将测试转换为粗体。但是,要忽略此效果,文本将传递给 escape_markup() 函数。
示例
from kivy.app import App from kivy.uix.label import Label from kivy.utils import escape_markup from kivy.core.window import Window Window.size = (720,400) class HelloApp(App): def build(self): text = 'This is an [b]important[/b] message' text = '[color=ff0000]' + escape_markup(text) + '[/color]' lbl=Label(text=text, font_size=40, markup=True) return lbl HelloApp().run()
输出
get_color_from_hex()
将十六进制字符串颜色转换为 kivy 颜色。颜色属性的 RGBA 值介于 0 到 1 之间。由于 RGB 值范围为 0 到 255,因此 Kivy 颜色值将数字除以 255。因此,RGB 值 50、100、200 分别表示为 50/255、100/255 和 200/255。
十六进制颜色值以字符串形式给出,每个 RGB 值包含 2 个十六进制数字,并以“#”符号为前缀。get_color_from_hex() 函数将十六进制字符串转换为 Kivy 颜色值。
示例
from kivy.utils import * c = get_color_from_hex("#00ff00") print (c)
输出
[0.0, 1.0, 0.0, 1.0]
get_hex_from_color(color)
将 kivy 颜色转换为十六进制值:
示例
from kivy.utils import * c = get_hex_from_color([0,1,0,1]) print (c)
输出
#00ff00ff
rgba()
从十六进制字符串或 0-255 值列表返回 Kivy 颜色(0-1 范围内的 4 个值)。
示例
from kivy.utils import * # from RGBA color values c = rgba([100,150,200, 255]) print ("from RGBA:",c) # from hex string c = rgba('#3fc4e57f') print ("from hex string:",c)
输出
from RGBA: [0.39215686274509803, 0.5882352941176471, 0.7843137254901961, 1.0] from hex string: [0.24705882352941178, 0.7686274509803922, 0.8980392156862745, 0.4980392156862745]