在Python中定义KV文件时访问它的按钮

2024-07-08 11:39:14 发布

您现在位置:Python中文网/ 问答频道 /正文

我想更改我的KV文件中按钮的背景色,但它不起作用。按钮是从Python文件定义和循环的

def gotoPost(i, instance):
    print("HAHAHAH")
    Manager.current = 'ScreenTwo'

class ScreenOne(Screen):
    box = ObjectProperty(None)

    def on_box(self, *args):
        for i in range(5):
            btn = Button(text=str(i))
            btn.bind(on_press=partial(gotoPost,i))
            self.box.add_widget(btn)

Factory.register('ScreenOne', cls=ScreenOne)

class ScreenTwo(Screen):
    pass

class Manager(ScreenManager):

    screen_one = ObjectProperty(None)
    screen_two = ObjectProperty(None)

class MainApp(App):
    def build(self):
        return Manager()
if __name__=="__main__":
    MainApp().run()

如何访问KV文件中的按钮


Tags: 文件selfboxnonedefmanagerscreen按钮
1条回答
网友
1楼 · 发布于 2024-07-08 11:39:14
class ScreenOne(Screen):
    box = ObjectProperty(None)
    color = [1.0,1.0,1.0,1.0]
    back_color = [0.0,0.0,0.0,1.0]
    def on_box(self, *args):
        for i in range(5):
            btn = Button(text=str(i), color= self.color, background_color= self.back_color)
            btn.bind(on_press=partial(gotoPost,i))
            self.box.add_widget(btn)

您可以指定一个按钮,在按下时根据需要更改颜色。例如:self.color或self.back_color=(7,0,1,1)。。。我想那是红色的

相关问题 更多 >

    热门问题