如何在课程的帮助器中更改按钮的颜色?基旺Python

问题描述

如何访问教室中的帮助器中的按钮?我想稍后更改按钮的颜色。 我想过一会儿更改id为reflex_button的按钮的颜色,但是我唯一的问题是如何在ReflexScreen类中使用具有此id值的按钮。

from kivymd.app import MDApp
from kivy.lang import Builder
from kivy.core.window import Window
from kivy.uix.screenmanager import Screen,ScreenManager


Window.size = (300,500)

helper = """
ScreenManager:
    MenuScreen:
    ReflexScreen:
    
<ReflexScreen>:
    name: 'reflex'
    Button:
        id: reflex_button
        text: 'Wait Change The Color'
        font_size: '20sp'
        pos_hint: {'center_x':0.5,'center_y':0.5}
        on_press: root.manager.current = 'menu'
        size_hint_x: None
        size_hint_y: None
        width: 300
        height: 500
        background_color: 1,0.8
<MenuScreen>
    name: 'menu'
    Screen:
        NavigationLayout:
            ScreenManager:
                Screen:
                    BoxLayout:
                        orientation: 'vertical'
                        MDToolbar:
                            title: 'Test Your Reflex'
                            left_action_items: [["menu",lambda x: nav_drawer.toggle_nav_drawer()]]
                            right_action_items: [["dots-vertical",lambda x: nav_drawer.toggle_nav_drawer()]]
                            elevation:10
    
                        Widget:
                
                    MDRectangleFlatButton:
                        text: 'Play'
                        on_press: root.manager.current = 'reflex'
                        size_hint_x: None
                        size_hint_y: None
                        width: 20
                        height: 30
                        pos_hint: {'center_x':0.5,'center_y':0.5}
                        md_bg_color: 0.2,0.3,0.6,0.1
                        text_color: 0.2,0.5,1
                        
                        
            

"""

class MenuScreen(Screen):
    pass
class ReflexScreen(Screen):
    pass


sm = ScreenManager()
sm.add_widget(ReflexScreen(name='reflex'))
sm.add_widget(MenuScreen(name='screen'))

class ReflexApp(MDApp):

    def build(self):
        screen = Builder.load_string(helper)
        return screen


ReflexApp().run()

我开始学习Kivy,对此我是陌生的,如果您能提供帮助,我将感到很高兴。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)