我想在网格布局中动态更改小部件的颜色 我怎样才能实现这一目标? 我创建了一个6x6的小部件矩阵,我需要动态地在网格布局中闪烁。
答案 0 :(得分:0)
尝试创建网格小部件,然后只使用计划的功能更改小部件的颜色。下面的代码现在可能是完美的,但可以帮助您:
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)
Colour=[0,0,0,0]
self.create_button(parent,Colour,1,1)
Clock.schedule_interval(lambda a:self.update(parent), 1)
return parent
def update(self,obj):
print "I am update function"
obj.clear_widgets()
print "random value is ",random.random()
for i in (1,2,3,4,5,6):
for j in (1,2,3,4,5,6):
c=[random.random(),random.random(),random.random(),random.random()]
d=[i,j]
self.create_button(obj,c,i,j)
def create_button(self,obj,color,i,j):
a=Button(background_color=color,text='Hello World %s%s'%(i,j))
obj.add_widget(a)
if __name__ == '__main__':
MainApp().run()