在Kivy入门,需要有关.kv文件的帮助

时间:2016-03-14 18:49:38

标签: button label kivy boxlayout

我正在尝试创建一个简单的应用来监控某些IO并且有一个按钮屏幕。我开始使用kivy作为我的gui开发的屏幕如何工作的框架。我想基于变量做很多标签更新,所以这样做的愿望使我使用了.kv文件和kivy属性。不可否认,我对这些事情知之甚少,这正是我从谷歌搜索中所知道的,并试图找出我需要做的事情。

无论如何,我正在尝试使用一些基本框架来开始使用.kv文件,虽然我的main.py编译,但它不会显示任何按钮。我熟悉通过python语言添加按钮到布局,但我希望在kivy风格中做更多。请帮忙!

这是我的main.py

from kivy.app import App
from kivy.uix.widget import Widget
from kivy.properties import StringProperty
import random

class YourWidget(Widget):
    random_number = StringProperty()

    def __init__(self, **kwargs):
            super(YourWidget, self).__init__(**kwargs)
            self.random_number = str(random.randint(1, 100))

        def change_text(self):
            self.random_number = str(random.randint(1, 100))

class YourApp(App):
    def build(self):
        return YourWidget()

if __name__ == '__main__':
    YourApp().run()

这是我的 your.kv

#:kivy 1.9.2

<YourWidget>:
    BoxLayout:
        size: root.size
        orientation: 'horizontal'
        spacing: 10
        padding: 10

        Button:
            id: btn1
            text: "Change Text"
            on_release: root.change_text()
            size_hint: .3, .3

        Button:
            id: btn2
            text: "Exit App"
            on_release: App.get_running_app().stop()
            size_hint: .3, .3

        Label:
            id: lbl1
            Font_size: 70
            text:root.random_number
            size_hint: .3, .3

让我知道你可以提供的任何帮助。我是python的新手,对kivy这样的软件包来说非常新。谢谢!另一个注意事项是,我正在显示器上进行开发,稍后将移植到触摸屏。

2 个答案:

答案 0 :(得分:0)

将your.kv重命名为yourwidget.kv

答案 1 :(得分:-1)

在画布上绘制图形时,游戏的类或窗口小部件名称也必须反映在kivy文件中。