目录
Kivy框架¶
Kivy 是一个用于开发多点触控应用程序的开源库。它支持跨平台(Linux/OSX/Windows/Android/iOS),并根据 MIT 许可证 的条款发布。
它原生支持多种多点触控输入设备,拥有不断增长的多点触控感知控件库,并支持硬件加速的OpenGL绘图。Kivy的设计旨在让您尽可能快速、轻松地专注于构建自定义且高度交互的应用程序。
使用Kivy,您可以充分利用Python的动态特性。有成千上万的高质量、免费库可以集成到您的应用程序中。同时,性能关键部分则通过`Cython <http://cython.org/>`_实现。
更多信息请参见 http://kivy.org。
- kivy.kivy_base_dir = '/home/kivy/backend/kivy_venv/lib/python3.12/site-packages/kivy'¶
Kivy 目录
- kivy.kivy_config_fn = ''¶
Kivy 配置文件名
- kivy.kivy_data_dir = '/home/kivy/backend/kivy_venv/lib/python3.12/site-packages/kivy/data'¶
Kivy 数据目录
- kivy.kivy_examples_dir = ''¶
Kivy 示例目录
- kivy.kivy_home_dir = ''¶
Kivy 用户主目录存储目录
- kivy.kivy_icons_dir = '/home/kivy/backend/kivy_venv/lib/python3.12/site-packages/kivy/data/icons/'¶
Kivy 图标配置路径(请勿移除末尾的“”)
- kivy.kivy_options = {'audio': ('gstplayer', 'pygame', 'ffpyplayer', 'sdl2', 'avplayer'), 'camera': ('opencv', 'gi', 'avfoundation', 'android', 'picamera'), 'clipboard': ('android', 'winctypes', 'xsel', 'xclip', 'dbusklipper', 'nspaste', 'sdl2', 'pygame', 'dummy', 'gtk3'), 'image': ('tex', 'imageio', 'dds', 'sdl2', 'pygame', 'pil', 'ffpy', 'gif'), 'spelling': ('enchant', 'osxappkit'), 'text': ('pil', 'sdl2', 'pygame', 'sdlttf'), 'video': ('gstplayer', 'ffmpeg', 'ffpyplayer', 'null'), 'window': ('egl_rpi', 'sdl2', 'pygame', 'sdl', 'x11')}¶
Kivy 的全局设置选项
- kivy.kivy_shader_dir = '/home/kivy/backend/kivy_venv/lib/python3.12/site-packages/kivy/data/glsl'¶
Kivy GLSL着色器目录
- kivy.kivy_usermodules_dir = ''¶
Kivy 用户模块目录
- kivy.parse_kivy_version(version)[源代码]¶
将
require()中描述的 Kivy 版本解析为一个三元组([x, y, z], 'rc|a|b|dev|post', 'N'),其中 N 是标签修订号。最后两个元素可能为 None。
- kivy.require(version)[源代码]¶
Require 可用于检查运行 Kivy 应用程序所需的最低版本。例如,您可以这样开始您的应用程序代码:
import kivy kivy.require('1.0.1')
如果用户尝试使用低于指定版本的Kivy运行您的应用程序,将会引发异常。
Kivy 版本字符串的构建方式如下:
X.Y.Z[tag[tagrevision]] X is the major version Y is the minor version Z is the bugfixes revision
标签是可选的,但可以是 '.dev'、'.post'、'a'、'b' 或 'rc' 之一。标签修订号是标签的修订版本号。
警告
您不得请求带有标签的版本,除非是 -dev。请求“dev”版本时,如果当前 Kivy 版本不是 -dev,只会警告用户,但绝不会引发异常。您不得请求带有标签修订版的版本。
- 动画
- 简单动画
- 多个属性和过渡
- 顺序动画
- 并行动画
- 重复动画
AnimationAnimationTransitionAnimationTransition.in_back()AnimationTransition.in_bounce()AnimationTransition.in_circ()AnimationTransition.in_cubic()AnimationTransition.in_elastic()AnimationTransition.in_expo()AnimationTransition.in_out_back()AnimationTransition.in_out_bounce()AnimationTransition.in_out_circ()AnimationTransition.in_out_cubic()AnimationTransition.in_out_elastic()AnimationTransition.in_out_expo()AnimationTransition.in_out_quad()AnimationTransition.in_out_quart()AnimationTransition.in_out_quint()AnimationTransition.in_out_sine()AnimationTransition.in_quad()AnimationTransition.in_quart()AnimationTransition.in_quint()AnimationTransition.in_sine()AnimationTransition.linear()AnimationTransition.out_back()AnimationTransition.out_bounce()AnimationTransition.out_circ()AnimationTransition.out_cubic()AnimationTransition.out_elastic()AnimationTransition.out_expo()AnimationTransition.out_quad()AnimationTransition.out_quart()AnimationTransition.out_quint()AnimationTransition.out_sine()
- 应用程序
- 创建应用程序
- 应用程序配置
- 使用 on_start 和 on_stop 进行性能分析
- 自定义布局
- 暂停模式
- 异步应用
- 与其他协程交互Kivy应用
AppApp.async_run()App.build()App.build_config()App.build_settings()App.close_settings()App.configApp.create_settings()App.destroy_settings()App.directoryApp.display_settings()App.get_application_config()App.get_application_icon()App.get_application_name()App.get_running_app()App.iconApp.kv_directoryApp.kv_fileApp.load_config()App.load_kv()App.nameApp.on_config_change()App.on_pause()App.on_resume()App.on_start()App.on_stop()App.open_settings()App.optionsApp.pause()App.rootApp.root_windowApp.run()App.settings_clsApp.stop()App.titleApp.use_kivy_settingsApp.user_data_dir
async_runTouchApp()runTouchApp()stopTouchApp()
- 异步数据加载器
- 图集
- 缓存管理器
- 时钟对象
- 在帧之前调度
- 触发事件
- 取消调度
- 时钟生命周期
- 异常处理
- 从
__del__中调度 - 线程与回调顺序
- 高级时钟详细信息
- 异步时钟支持
ClockClockBaseClockBaseBehaviorClockBaseBehavior.MIN_SLEEPClockBaseBehavior.async_idle()ClockBaseBehavior.async_tick()ClockBaseBehavior.framesClockBaseBehavior.frames_displayedClockBaseBehavior.frametimeClockBaseBehavior.get_boottime()ClockBaseBehavior.get_fps()ClockBaseBehavior.get_rfps()ClockBaseBehavior.get_time()ClockBaseBehavior.idle()ClockBaseBehavior.init_async_lib()ClockBaseBehavior.post_idle()ClockBaseBehavior.pre_idle()ClockBaseBehavior.tick()ClockBaseBehavior.tick_draw()ClockBaseBehavior.time()ClockBaseBehavior.usleep()
ClockBaseFreeInterruptAllClockBaseFreeInterruptOnlyClockBaseInterruptClockBaseInterruptBehaviorClockBaseInterruptFreeBehaviorClockEventClockEvent.callbackClockEvent.cancel()ClockEvent.cidClockEvent.clockClockEvent.clock_ended_callbackClockEvent.get_callback()ClockEvent.get_clock_ended_callback()ClockEvent.is_triggeredClockEvent.loopClockEvent.nextClockEvent.prevClockEvent.release()ClockEvent.release_refClockEvent.tick()ClockEvent.timeoutClockEvent.weak_callbackClockEvent.weak_clock_ended_callback
ClockNotRunningErrorCyClockBaseCyClockBase.clock_resolutionCyClockBase.create_lifecycle_aware_trigger()CyClockBase.create_trigger()CyClockBase.get_before_frame_events()CyClockBase.get_events()CyClockBase.get_min_timeout()CyClockBase.get_resolution()CyClockBase.handle_exception()CyClockBase.has_endedCyClockBase.has_startedCyClockBase.max_iterationCyClockBase.on_schedule()CyClockBase.schedule_del_safe()CyClockBase.schedule_interval()CyClockBase.schedule_lifecycle_aware_del_safe()CyClockBase.schedule_once()CyClockBase.start_clock()CyClockBase.stop_clock()CyClockBase.unschedule()
CyClockBaseFreeCyClockBaseFree.create_lifecycle_aware_trigger()CyClockBaseFree.create_lifecycle_aware_trigger_free()CyClockBaseFree.create_trigger()CyClockBaseFree.create_trigger_free()CyClockBaseFree.get_min_free_timeout()CyClockBaseFree.schedule_interval()CyClockBaseFree.schedule_interval_free()CyClockBaseFree.schedule_once()CyClockBaseFree.schedule_once_free()
FreeClockEventmainthread()triggered()
- Python 2.7 和 >= 3.4 的兼容性模块。
- 配置对象
- 应用配置
- Config 对象的使用
- 使用环境变量更改配置
- 可用的配置令牌
ConfigConfigParserConfigParser.add_callback()ConfigParser.adddefaultsection()ConfigParser.get()ConfigParser.get_configparser()ConfigParser.getdefault()ConfigParser.getdefaultint()ConfigParser.nameConfigParser.read()ConfigParser.remove_callback()ConfigParser.set()ConfigParser.setall()ConfigParser.setdefault()ConfigParser.setdefaults()ConfigParser.update_config()ConfigParser.write()
- 上下文
- 事件分发器
EventDispatcherEventDispatcher.apply_property()EventDispatcher.bind()EventDispatcher.create_property()EventDispatcher.dispatch()EventDispatcher.dispatch_children()EventDispatcher.dispatch_generic()EventDispatcher.events()EventDispatcher.fbind()EventDispatcher.funbind()EventDispatcher.get_property_observers()EventDispatcher.getter()EventDispatcher.is_event_type()EventDispatcher.properties()EventDispatcher.property()EventDispatcher.proxy_refEventDispatcher.register_event_type()EventDispatcher.setter()EventDispatcher.unbind()EventDispatcher.unbind_uid()EventDispatcher.unregister_event_type()EventDispatcher.unregister_event_types()
ObjectWithUidObservable
- 工厂对象
- 几何工具
- 手势识别
- 交互式启动器
- Kivy 基础
EventLoopEventLoopBaseEventLoopBase.add_event_listener()EventLoopBase.add_input_provider()EventLoopBase.add_postproc_module()EventLoopBase.async_idle()EventLoopBase.close()EventLoopBase.dispatch_input()EventLoopBase.ensure_window()EventLoopBase.exit()EventLoopBase.idle()EventLoopBase.on_pause()EventLoopBase.on_start()EventLoopBase.on_stop()EventLoopBase.post_dispatch_input()EventLoopBase.remove_android_splash()EventLoopBase.remove_event_listener()EventLoopBase.remove_input_provider()EventLoopBase.remove_postproc_module()EventLoopBase.run()EventLoopBase.set_window()EventLoopBase.start()EventLoopBase.stop()EventLoopBase.touches
ExceptionHandlerExceptionManagerExceptionManagerBaseasync_runTouchApp()runTouchApp()stopTouchApp()
- Kivy 日志记录
- 底层度量
- 指标
- 多笔画手势识别器
- 解析器工具
- 属性
- 资源管理
- 支持
- 工具类
- 向量
- 弱方法
- 弱代理