如何在Kivy的.kv文件中添加id?

时间:2017-11-22 11:20:13

标签: python kivy

我很难想出一个使用ID的简单示例。稍后我想使用ID来更改参数,例如更改标签或按钮中的文本。那么我该如何开始呢?我找不到使用ID的简单示例。

import kivy
from kivy.uix.gridlayout import GridLayout
from kivy.app import App

class TestApp(App):
    pass

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

.kv文件:

#:kivy 1.0

Button:
    text: 'this button \n is the root'
    color: .8, .9, 0, 1
    font_size: 32

    Label: 
        text: 'This is a label'
        color: .9, 0, .5, .5

在这种情况下,我想使用标签ID,并能够更改文本。

1 个答案:

答案 0 :(得分:0)

您可以找到有关kv语言here的一些信息。 您需要使用kivy properties

这是一个关于如何在按下按钮时更改标签文本的示例: python文件:

public class CHARACTER {
    // This is a member:
    noncombatSKILLS[] noncombat; 

    // And this is an initializer block:
    {
        noncombat[] = {  new noncombatSKILLS( "Scavenge" , "find some parts" , 123 ) } ;
    }
}

kv文件:

import kivy
from kivy.uix.gridlayout import GridLayout
from kivy.app import App
from kivy.properties import ObjectProperty

class GridScreen(GridLayout):
    label = ObjectProperty() #accessing the label in python
    def btnpress(self):
        self.label.text = 'btn pressed' #changing the label text when button is pressed

class TestApp(App):
    def build(self):
        return GridScreen()

if __name__ == '__main__':
    TestApp().run()
相关问题