day02kivy简介一kivy简单使用

更新时间:2023-08-03 03:25:22 阅读: 评论:0

day02kivy简介⼀kivy简单使⽤
⼀、Kivy简单使⽤
1. 创建⼀个kivy应⽤程序很简单包括:
对应⽤程序类进⾏⼦分类
实现其build() ⽅法,以便返回⼩部件实例(⼩部件树的根)
实例化该类,并调⽤其run()  ⽅法。
下⾯是⼀个最⼩应⽤程序的⽰例:
import quire('1.0.6') #替换为你当前的kivy版本! from kivy.app import App from kivy.uix.label import Label class MyApp(App): def build(lf): return Label(text='Hello world') MyApp().run()
您可以将其保存到⼀个⽂本⽂件中,例如,main.py,并运⾏它。
2.kivy应⽤程序⽣命周期
⾸先,让我们熟悉⼀下Kivy应⽤程序的⽣命周期
正如您在上⾯所看到的,⽆论如何,我们进⼊应⽤程序的⼊⼝点是run()⽅法,在我们的例⼦中是“MyApp()。run()”。我们会回到这个问题,解释每⾏:
from kivy.app import App
它要求您的应⽤程序的基类继承⾃应⽤程序类。它现在就存在于kivy_installation_dir/kivy/app.py之中
from kivy.uix.label import Label
这⾥需要注意的⼀件重要的事情是软件包/类的布局⽅式。uix模块是包含布局和⼩部件等⽤户界⾯元素的部分。
class MyApp(App):
这就是我们定义Kivy应⽤程序的基类的地⽅。只需要在这⼀⾏中更改你的应⽤程序MyApp的名称。
def build(lf):
如上图所突出显⽰的,显⽰了Kivi应⽤程序⽣命周期的外壳,这是您应该初始化并返回根⼩部件的函数。这是我们在第8⾏中所做的:return Label(text='Hello world')
这⾥我们⽤⽂本“Hello World”初始化⼀个标签并返回其实例。此标签将是此应⽤程序的根⼩部件。
运⾏后效果:
3. ⾃定义应⽤程序
GridLayout ⽹格布局模块:当需要将控件排列成表格状时。可以使⽤GridLayout布局⽅式,根据布局的配置,⼦控件按照⾃⼰的索引顺序被分配位置。
例:让我们稍微扩展⼀下这个应⽤程序,⽐如⼀个简单的⽤户名/密码页⾯。
代码:
from kivy.app import App from idlayout import GridLayout from kivy.uix.label import Label from input import TextInput class LoginScreen(GridLayout): def __init__(lf,**kwargs): super(LoginScreen,lf).__init__(**kwargs) lf.cols = 2
lf.add_widget(Label(text='Ur Name')) lf.urname = TextInput(multiline=Fal) lf.add_widget(lf.urname)
lf.add_widget(Label(text='password')) lf.password = TextInput(password=True,multiline=Fal) lf.add_widget(lf.password) class MyApp(App): def build(lf): return LoginScreen() if __name__ == '__main__': MyApp().run()
和同学运⾏展⽰:
尝试重新调整窗⼝的⼤⼩,你会看到屏幕上的⼩部件会根据窗⼝的⼤⼩进⾏调整,⽽不需要做任何事情。这是因为⼩部件在默认情况下随窗⼝⾃动调整⼤⼩。上⾯的代码不处理来⾃⽤户的输⼊,没有验证或其他任何东西。我们将在接下来的章节中更深⼊地研究这个问题和⼩部件的⼤⼩和定位。
⼆、环境控制
许多环境变量可⽤于控制Kivy的初始化和⾏为。例如,为了将⽂本渲染限制为PIL实现:
$ KIVY_TEXT=pil python main.py
在导⼊kivy之前,应设置环境变量:
import viron['KIVY_TEXT'] = 'pil'import kivy
2.1 控制路径的环境变量
在1.0.7版本中的新版本。您可以控制配置⽂件、模块和kivy数据所在的默认⽬录。
KIVY_DATA_DIR: Kivy数据的位置,默认为<Kivy路径>/数据
KIVY_MODULES_DIR: Kivy模块的位置,默认为<kivy路径>/模块
KIVY_HOME:kivy的家⽬录。此⽬录⽤于本地配置,并且必须位于可写的位置。
默认值:
• Desktop: <ur home>/.kivy
• Android: <android app path>/.kivy礼貌用语有哪些
• iOS: <ur home>/Documents/.kivy
KIVY_SDL2_PATH:如果设置,编译kivy时将使⽤此路径中的SDL2库和头,⽽不是系统范围内安装的库和头。要在运⾏kivy应⽤程序时使⽤相同的库,必须在path环境变量的开头添加此路径。
2.2 配置⽂件的环境变量
KIVY_USE_DEFAULTCONFIG:如果在环境中找到这个名称,Kivy将不会读取⽤户配置⽂件。
KIVY_NO_CONFIG:如果设置,则不会读取或写⼊任何配置⽂件。这也适⽤于⽤户配置⽬录。
KIVY_NO_FILELOG:如果设置,⽇志将不会打印到⽂件中。
KIVY_NO_CONSOLELOG:如果设置,⽇志将不会打印到控制台
KIVY_NO_ARGS:如果设置为其中⼀个(“true”、“1”、“yes”),则在命令⾏中传递的参数将不会被Kivy解析和使⽤。例如,您可以安全地使⽤您⾃⼰的参数创建⼀个脚本或应⽤程序,⽽不需要-分隔符:
例:
import viron["KIVY_NO_ARGS"] ='1'import kivy
KCFG_ction_key:映射到配置对象。它们在导⼊kivy时只加载⼀次。可以使⽤KIVY_NO_ENV_CONFIG禁⽤该⾏为。(1.11.0版本及之后的新版本)
例:
import viron["KCFG_KIVY_LOG_LEVEL"] = "warning"import kivy # during import it will map it to: # Config.t("kivy", "log_level", "warning")
KIVY_NO_ENV_CONFIG:如果设置,则任何环境键将不会映射到配置对象。如果未设置,任何KCFG_ction_key=值都将被映射到配置
2.3 kivy核⼼限制环境控制具体实现
< 尝试为您的平台选择最佳的实现。对于测试或⾃定义安装,您可能希望将选择器限制在特定的实现中。
KIVY_WINDOW:⽤于创建窗⼝的实现
眼镜牌子默认值: sdl2, pygame, x11, egl_rpi
KIVY_TEXT:要⽤于渲染⽂本的实现
预防校园欺凌内容默认值:sdl2, pil, pygame, sdlttf
KIVY_VIDEO:⽤于渲染视频的实现
默认值:gstplayer, ffpyplayer, ffmpeg, null
KIVY_AUDIO:⽤于播放⾳频的实现
默认值:sdl2, gstplayer, ffpyplayer, pygame, avplayer
KIVY_IMAGE:⽤于读取图像的实现
默认值:sdl2, pil, pygame, imageio, tex, dds, gif
KIVY_CAMERA:⽤于读取照相机的实现
默认值: avfoundation, android, opencv
KIVY_SPELLING:要⽤于拼写的实现
没写作业检讨书
默认值:enchant, osxappkit
KIVY_CLIPBOARD:⽤于剪贴板管理
默认值:sdl2, pygame, dummy, android
2.4 Metrics设置(指标设置)
KIVY_DPI:如果设置,该值将⽤于Metrics.dpi。
勇敢女孩
体现在 1.4.0.及以后的版本中
KIVY_METRICS_DENSITY:如果设置,该值将⽤于Metrics.density。
体现在1.5.0.及以后的版本中
KIVY_METRICS_FONTSCALE:如果设置,该值将⽤于Metrics.fontscale。
体现在1.5.0.及以后的版本中
2.5Graphics设置(图形设置)
KIVY_GL_BACKEND:要使⽤的OpenGL后端。
KIVY_GL_DEBUG:是否记录OpenGL调⽤。
KIVY_GRAPHICS  是否使⽤OpenGLES2。
KIVY_GLES_LIMITS 是否强制执⾏GLES2限制(默认值,或如果设置为1)。如果设置为fal,Kivy将不会真正兼容GLES2。以下是当设置为true时可能导致的潜在不兼容性的列表。
Mesh
in
dices
如果为真,则⽹格中的索引数被限制为65535
Tex ture blit 当对纹理进⾏点选时,数据(颜⾊和缓冲区)格式必须与创建纹理时使⽤的格式相同。在桌⾯上,不同颜⾊的转换由驱动程序正确处理,⽽在Android上,⼤多数设备都⽆法做到这⼀点。参考⽂献:/kivy/kivy/issues/1600
体现在1.8.1.及以后的版本中
KIVY_BCM_DISPMANX_ID: 将默认的Raspberry Pi显⽰更改为使⽤。可⽤值列表可在vc_dispmanx_types.h中访问。默认值为0:• 0: DISPMANX_ID_MAIN_LCD
• 1: DISPMANX_ID_AUX_LCD
• 2: DISPMANX_ID_HDMI
• 3: DISPMANX_ID_SDTV
• 4: DISPMANX_ID_FORCE_LCD拉丁舞比赛
• 5: DISPMANX_ID_FORCE_TV
• 6: DISPMANX_ID_FORCE_OTHER
KIVY_BCM_DISPMANX_LAYER: 更改默认的Raspberry Pi dispmanx图层。默认值为: 0
New in version 1.10.1.
2.6 Event Loop (事件循环设置)
KIVY_EVENTLOOP 当应⽤程序以异步⽅式运⾏时,应使⽤哪个异步库。参见kivy.app了解⽤法⽰例。
'asyncio': 当应⽤程序以异步的⽅式运⾏时,应该使⽤标准的库异步软件包。默认设置,如果没有设置。
'trio': 当应⽤程序以异步⽅式运⾏时,应使⽤trio软件包。
New in version 2.0.0.
三、Kivy配置
kivy的配置⽂件名为config.ini,并遵循标准ini格式。
3.1 配置⽂件本地位置
配置⽂件的位置由环境变量KIVY_HOME控制:
<KIVY_HOME>/config.ini
在桌⾯上,操作默认为:
<HOME_DIRECTORY>/.kivy/config.ini
因此,如果您的⽤户名为“tito”,则⽂件将在此处:
• Windows: C:\Urs\tito\.kivy\config.ini
• OS X: /Urs/tito/.kivy/config.ini
• Linux: /home/tito/.kivy/config.ini
皮肤干燥瘙痒怎么办
在Android上,默认为:
<ANDROID_APP_PATH>/.kivy/config.ini
如果您的应⽤程序名为“org.kivy.launcher”,则该⽂件将在这⾥:
/data/data/org.kivy.launcher/files/.kivy/config.ini
在iOS上,默认设置为:
<HOME_DIRECTORY>/Documents/.kivy/config.ini
3.2 本地配置
有时,只需要更改某些应⽤程序的配置,或者在测试Kivy的单独部分(例如输⼊提供程序)时更改配置。要创建单独的配置⽂件,只需使⽤以下命令:
fig import ad(<file>) # t config Config.write()
当单个.ini⽂件的本地配置不够时,例如,当您想要为garden、kivy⽇志和其他内容创建单独的环境时,您需要更改应⽤程序中的
kivy_HOME环境变量以获得所需的结果:
import viron['KIVY_HOME'] = <folder>
或在每次运⾏应⽤程序之前,在控制台中⼿动更改:
1. Windows:
t KIVY_HOME=<folder>
2. Linux & OSX:
export KIVY_HOME=<folder>
更改KIVY_HOME后,⽂件夹的⾏为将与上⾯提到的默认.KIVY/⽂件夹完全相同。
注:去了解每个配置项,在fig模块中解释了所有的配置项。

本文发布于:2023-08-03 03:25:22,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/82/1127248.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:配置   程序   实现   设置   部件   不会   需要   默认
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图