如何在Kivy中通过单击一个按钮来更改另一个按钮(按钮)的文本?

时间:2020-01-06 00:42:08

标签: python python-3.x kivy kivy-language

我正在使用Kivy框架来创建桌面应用。

例如,当您单击“英文”按钮时,它会将按钮的文本更改为英语。以此类推,当您单击名为“ Fra”的按钮时,它将变为法语。

Example

当您在Textinput中输入一些信息并且单击Button信息后出现在Label上时,我试图对结构进行修饰。我只是用Button替换了Label,但是我仍然不知道如何使它工作。

我的test.py文件

class Container(BoxLayout):
    pass
    button_test=ObjectProperty()
    wbutton_eng=ObjectProperty()
    wbutton_fra=ObjectProperty()

    def change_text(self):
        self.buttontest.text
        self.wbutton_fra.text()
        self.wbutton_eng.text()

我的KV文件

<Container>:
    BoxLayout:
        canvas:
            Color:
                rgb: 120, 1, 1, 0.9
            Rectangle:
                size: self.size

        orientation:'vertical'

        button_test:buttonone
        wbutton_eng:buttoneng
        wbutton_fra:buttonfra

        Button:
            id:buttonone
            text:'[color=ff3333]Text in French or English[/color]'
            font_size:24
            size_hint:1,0.09
            background_color: 0,0,0.5
            canvas.before:
                Color:
                    rgba: 1, 2, 0.3, .6
                Rectangle:
                    pos: self.pos
                    size: self.size
            markup: True

        Button:
            id:buttoneng
            text:'[color=ff3333]Eng[/color]'
            font_size:24
            size_hint:1,0.09
            background_color: 0,0,0.5
            canvas.before:
                Color:
                    rgba: 1, 2, 0.3, .6
                Rectangle:
                    pos: self.pos
                    size: self.size
            markup: True
                on_press
                    root.change_text()
        Button:
            id:buttonfra
            text:'[color=ff3333]Fra[/color]'
            font_size:24
            size_hint:1,0.09
            background_color: 0,0,0.5
            canvas.before:
                Color:
                    rgba: 1, 2, 0.3, .6
                Rectangle:
                    pos: self.pos
                    size: self.size
            markup: True
                on_press
                    root.change_text()

1 个答案:

答案 0 :(得分:0)

逻辑是创建一个字典,其中包含语言标识符和要翻译的文本作为值。然后将每个按钮与语言标识符相关联。

一个简单的示例如下:

Date