我想动态改变网格布局中小部件文本的颜色

0 投票
1 回答
765 浏览
提问于 2025-04-18 00:58

我想要在一个网格布局的组件中动态改变文字的颜色。请问我该怎么做呢?我创建了一个6x6的组件矩阵,我需要让网格中某个方块的文字动态闪烁。

1 个回答

1

这和你之前的问题是一样的,

你可以看看这个链接:我想在Kivy的网格布局中动态改变小部件的颜色

只需要把背景颜色(background_color)换成按钮的颜色属性(color)就可以了。试试下面的代码:

from kivy.app import App
from kivy.uix.gridlayout import GridLayout
from kivy.uix.button import Button
from kivy.graphics import Color
from kivy.clock import Clock
import random

class RootWidget(GridLayout):
    pass

class MainApp(App):

    def build(self):
        parent = GridLayout(cols=6)
        for i in (1,2,3,4,5,6):
            for j in (1,2,3,4,5,6):
                parent.add_widget(Button(text='%s%s'%(i,j)))

        Clock.schedule_interval(lambda a:self.update(parent),1)

        return parent

     def update(self,obj):
        print "I am update function"
        for child in obj.children:
            c=[0,random.random(),1,random.random()]
            child.color=c


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

撰写回答