Python Kivy .kv文件介绍和用法示例

当我们用Python编写应用程序时基维, 在同一代码上编写所有内容会使代码混乱, 并且很难被别人理解。同样, 编写大型代码也难以维护窗口小部件树的构造和显式绑定的声明。
KV语言允许我们以声明的方式创建自己的窗口小部件树, 并以自然的方式将窗口小部件属性相互绑定或回调。

????Kivy教程–通过示例学习Kivy。
如何加载kv文件:
有2种方式加载.kv归档到代码或应用程序中
通过名称约定方法-
在编写代码时, 我们将创建App类。对于此方法, 文件名和应用程序类相同, 然后将kv文件保存为
appclassname.kv
Kivy会以小写形式查找与你的App类同名的Kv文件, 如果以" App"结尾则减去" App", 例如:
classnameApp ---> classname.kv

如果此文件定义了Root Widget, 它将被附加到应用程序的root属性, 并用作应用程序Widget树的基础。
下面给出了有关如何在kivy中使用.kv文件的示例代码:
# code how to use .kv file in kivy# import kivy module import kivy# base Class of your App inherits from the App class. # app:always refers to the instance of your application from kivy.app import App# this restrict the kivy version i.e # below this kivy version you cannot # use the app or software # not coumpulsary to write it kivy.require( '1.9.1' )# define the App class # and just pass rest write on kvfile # not necessary to pass # can also define function in it class kvfileApp(App): passkv = kvfileApp() kv.run()

.kv文件代码以与应用程序类相同的名称保存–
Label: text: ( '[b]Hello[/b] [color = ff0099]World[/color]\n' '[color = ff0099]Hello[/color] [b]World[/b]\n' '[b]Hello[/b] [color = ff0099]World:):)[/color]' ) markup: True font_size: '64pt'

输出如下:
Python Kivy .kv文件介绍和用法示例

文章图片
生成器方法
为了使用此方法, 你首先必须通过以下方式导入Builder
from kivy.lang import builder

现在, 通过构建器, 你可以直接将整个文件作为字符串或文件加载。通过这样做将.kv文件加载为文件:
Builder.load_file('.kv/file/path')

或者, 对于加载, kv文件作为字符串:
Builder.load_string(kv_string)

# code to use the .kv file as a string in the main file # code how to use .kv file in kivy# import kivy module import kivy# base Class of your App inherits from the App class. # app:always refers to the instance of your application from kivy.app import App# it is to import Builder from kivy.lang import Builder# this restrict the kivy version i.e # below this kivy version you cannot use the app or software # not coumpulsary to write it kivy.require( '1.9.1' )# building kv file as string kvfile = Builder.load_string( """ Label: text: ('[b]Hello[/b] [color = ff0099]World[/color]\\n' '[color = ff0099]Hello[/color] [b]World[/b]\\n' '[b]Hello[/b] [color = ff0099]World:):)[/color]') markup: True font_size: '64pt' """ )# define the App class # and just pass rest write on kvfile # not necessary to pass # can also define function in it class kvfileApp(App): def build( self ): return kvfilekv = kvfileApp() kv.run()

输出如下:
Python Kivy .kv文件介绍和用法示例

文章图片
【Python Kivy .kv文件介绍和用法示例】首先, 你的面试准备可通过以下方式增强你的数据结构概念:Python DS课程。

    推荐阅读