kivy学习笔记-基础篇

    写kivy应用,一般使用kv语言(可以认为是Python的简化写法)定义图形化组件,并结合Python程序来实现应用程序。kv语言的源文件也是一个文本文件,文件的扩展名为.kv,而kivy程序在启动时会自动搜索和应用kv语言文件。而他们之间的关联方法是程序的主类名App之前的名称,对应kv语言文件的名称。具体参考以下实例,同时,以下代码实例也展示了kivy应用的基本结构:

# file name: My.kv
MyForm:        # 顶级GUI部件类
<MyForm>:      # 定义MyForm类
    orientation:"vertical"    # 定义orientation属性的值
    text_input:text_box       # 定义用于外部引用的名称,指向id为text_box的GUI部件

    BoxLayout:                # 定义子GUI部件
        height:"40dp"         # 高度
        size_hint_y:None      # 纵向占比

        TextInput:
            id:text_box
            size_hint_x:50  # 横向占比(多个同级GUI部件的占比比例来分配实际大小)

        Button:
            text:"Button A"
            size_hint_x:25
            on_press:root.buttona_act()   # 指定Button被按下时执行的方法

        Button:
            text:"Button B"
            size_hint_x:25
# file name: main.py

from kivy.app import App
from kivy.uix.boxlayout import BoxLayout
from kivy.properties import ObjectProperty

class MyForm(BoxLayout):  # 此处类定义虽然为空,但会将my.kv的GUI定义的相关“程序”引入,即相当于在此定义
    pass

class MyApp(App):         # 类名MyApp 在运行时正好自动载入对应的my.kv文件
    text_input = ObjectProperty()   # 在类中添加text_input属性,对应kv文件中用于外部引用的名称,最终指向对应id的GUI部件
    def buttona_act(self):
        print(self.text_input.text) # 获取text_input所指向GUI部件的text值,并打印到控制台

MyApp().run()
    其他相关解释,请参考程序文件中的注释。


猜你喜欢

转载自blog.csdn.net/cloveses/article/details/80369764