【问题标题】:How do I change settings of a custom widget in kivy?如何在 kivy 中更改自定义小部件的设置?
【发布时间】:2017-12-12 16:08:52
【问题描述】:

我有这段代码,我希望一个按钮触发自定义按钮的更改。我的解决方案仅在按下所有自定义按钮时更改它们的颜色。更改按钮的正确方法是什么?

蟒蛇

class B_SettingScreen(Screen):
    def change_color(self):
        Factory.MainButton.background_normal = "z_MainButtonColorRed.jpg"

奇葩

<MainButton@Button>:
    font_size: 18
    markup: True
    size_hint: 0.25,0.06
    color: 0,0,0,1
    background_normal: "z_MainButtonColor.jpg"

<B_SettingScreen>:
    MainButton:
        text: "[b][font=Arial]Change Color[/b][/font]"
        pos_hint: {"center_x":0.25, "y":0.5}
        on_release: root.change_color()

【问题讨论】:

    标签: python kivy kivy-language


    【解决方案1】:

    找到解决方案(感谢@EL3PHANTEN 在我提出的另一个问题中),只需使用应用程序类进行更改!

    py

    class Bobolo(App):
        bg_but = StringProperty("z_MainButtonColor.jpg")
        def build(self):
            Window.clearcolor = 1,1,1,1
            return A_ScreenManager()
        def change_bg(self):
            self.bg_but = "z_MainButtonColorRed.jpg"
    

    千伏

    <MainButton>:
        id: MainButton
        font_size: 18
        markup: True
        size_hint: 0.25,0.06
        color: 0,0,0,1
        background_normal: app.bg_but
    
    
    <B_SettingScreen>:
    
        MainButton:
            text: "[b][font=Arial]Change Color[/b][/font]"
            pos_hint: {"center_x":0.25, "y":0.5}
            on_release: app.change_bg()
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-13
      • 2014-05-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-03
      相关资源
      最近更新 更多