Python 如何在Kivy中更改禁用小部件的颜色?

Python 如何在Kivy中更改禁用小部件的颜色?,python,kivy,Python,Kivy,这只是我应用程序的一小部分。 我有一个按钮“嗨”。 我在gridlayout中还有两个按钮“1”和“2”,id为w_10 按下“Hi”键时,w_10将被禁用。 现在,我不希望“1”和“2”在w_10被禁用后改变颜色,我希望它们保持与过去状态相同的颜色,即绿色。请改进我的代码 我的代码: #!/usr/bin/kivy import kivy kivy.require('1.7.2') from kivy.app import App from kivy.lang import Builder

这只是我应用程序的一小部分。
我有一个按钮“嗨”。
我在gridlayout中还有两个按钮“1”和“2”,id为w_10
按下“Hi”键时,w_10将被禁用。
现在,我不希望“1”和“2”在w_10被禁用后改变颜色,我希望它们保持与过去状态相同的颜色,即绿色。请改进我的代码

我的代码:

#!/usr/bin/kivy
import kivy
kivy.require('1.7.2')

from kivy.app import App
from kivy.lang import Builder
from kivy.uix.screenmanager import ScreenManager, Screen
from kivy.uix.gridlayout import GridLayout
from kivy.uix.button import Button

Builder.load_string("""
<MenuScreen>:
    GridLayout:
        cols: 1
        Button:
            text: 'HI'
            on_press: root.change()
        GridLayout:
            id: w_10
            rows:1
            Button:
                text: '1'
                background_normal: ''
                background_color:(0.207, 0.635, 0.423, 0.9)
            Button:
                text:'2'
                background_normal: ''
                background_color:(0.207, 0.635, 0.423, 0.9)               
""")

# Declare both screens
class MenuScreen(Screen):
    def change(self):
        self.ids['w_10'].disabled=True

sm = ScreenManager()
menu = MenuScreen(name='menu')
sm.add_widget(menu)

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

if __name__ == '__main__':
    TestApp().run()
#/usr/bin/kivy
进口克维
kivy.require('1.7.2')
从kivy.app导入应用程序
从kivy.lang导入生成器
从kivy.uix.screenmanager导入screenmanager,屏幕
从kivy.uix.gridlayout导入gridlayout
从kivy.uix.button导入按钮
生成器。加载\u字符串(“”)
:
网格布局:
科尔斯:1
按钮:
文字:“嗨”
按:root.change()
网格布局:
id:w_10
行数:1
按钮:
正文:“1”
背景\u正常:“”
背景颜色:(0.207,0.635,0.423,0.9)
按钮:
正文:“2”
背景\u正常:“”
背景颜色:(0.207,0.635,0.423,0.9)
""")
#声明两个屏幕
类菜单屏幕(屏幕):
def更改(自我):
self.ids['w_10'].disabled=True
sm=屏幕管理器()
menu=MenuScreen(name='menu')
sm.add_小部件(菜单)
类TestApp(应用程序):
def生成(自):
返回sm
如果uuuu name uuuuuu='\uuuuuuu main\uuuuuuu':
TestApp().run()

将yout按钮的属性设置为emtpy字符串:

#!/usr/bin/kivy
import kivy
kivy.require('1.7.2')

from kivy.app import App
from kivy.lang import Builder
from kivy.uix.screenmanager import ScreenManager, Screen
from kivy.uix.gridlayout import GridLayout
from kivy.uix.button import Button

Builder.load_string("""
<MenuScreen>:
    GridLayout:
        cols: 1
        Button:
            text: 'HI'
            on_press: root.change()
        GridLayout:
            id: w_10
            rows:1
            Button:
                background_disabled_normal: ''
                text: '1'
                background_normal: ''
                background_color:(0.207, 0.635, 0.423, 0.9)
            Button:
                background_disabled_normal: ''
                text:'2'
                background_normal: ''
                background_color:(0.207, 0.635, 0.423, 0.9)               
""")

# Declare both screens
class MenuScreen(Screen):
    def change(self):
        self.ids['w_10'].disabled = True

sm = ScreenManager()
menu = MenuScreen(name='menu')
sm.add_widget(menu)

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

if __name__ == '__main__':
    TestApp().run()
Button:
    background_disabled_normal: ''
    disabled_color: 1, 1, 1, 1
    text: '1'
    background_normal: ''
    background_color:(0.207, 0.635, 0.423, 0.9)