【发布时间】:2021-01-12 02:28:59
【问题描述】:
我想在另一个屏幕上更改按钮文本,但我不使用 kv 语言,我该怎么做? 这是一个代码示例
from kivy.app import App
from kivy.uix.button import Button
from kivy.uix.screenmanager import ScreenManager, Screen, FadeTransition
list=['Yes','No']
class ScreenManagement(ScreenManager):
def __init__(self, **kwargs):
super(ScreenManagement, self).__init__(**kwargs)
class Iniciar(Screen):
def __init__(self, **kwargs):
super(Iniciar, self).__init__(**kwargs)
self.btn = Button(text='INICIAR', size_hint=(.2, .1), pos_hint={'center_x': .5, 'y': .05}, background_color=(0, 0, 1.60, 1),font_size=24, color=(.8, .9, 0, 1))
self.btn.bind(on_press=self.press_button)
self.add_widget(self.btn)
def press_button(self, *args):
list[0] = 'Apple'
list[1] = 'Banana'
self.manager.current = 'categorical'
class Categorical(Screen):
def __init__(self, **kwargs):
super(Categorical, self).__init__(**kwargs)
self.button_1 = Button(text=list[0], size_hint=(.2, .1), pos_hint={'center_x': .35, 'y': .05})
self.button_2 = Button(text=list[1], size_hint=(.2, .1), pos_hint={'center_x': .64, 'y': .05})
self.add_widget(self.button_1)
self.add_widget(self.button_2)
class Application(App):
def build(self):
sm = ScreenManagement(transition=FadeTransition())
sm.add_widget(Iniciar(name='iniciar'))
sm.add_widget(Categorical(name='categorical'))
return sm
if __name__ == "__main__":
Application().run()
在这种情况下,我会更改包含按钮文本值的列表
【问题讨论】:
标签: python kivy kivy-language