【发布时间】:2022-09-24 22:23:37
【问题描述】:
我创建了一个更改应用程序颜色的按钮。在主屏幕中它工作得很好,但是它不会改变对话框和其他屏幕中主题的颜色。我不知道是否需要在每个屏幕(使用屏幕管理器)或我创建的 dialagos 中手动更改主题颜色。
这是我的代码
class MainMenu(Screen):
def build(self):
self.theme_cls.primary_palette = \"Cyan\"
self.theme_cls.accent_palette = \"Indigo\" # Lime
self.theme_cls.theme_style = \"Light\"
sm.add_widget(SignInScreen(name=\'sign_in_screen\'))
sm.add_widget(MainMenu(name=\'main_menu\'))
sm.add_widget(TermsConditionsScreen(name=\'terms_conditions_screen\'))
sm.add_widget(MyInformation(name=\'my_information\'))
return sm
def color_changer(self):
if self.theme_cls.theme_style == \"Dark\":
self.theme_cls.theme_style = \"Light\"
self.theme_cls.primary_palette = \"Cyan\"
self.theme_cls.accent_palette = \"Indigo\"
elif self.theme_cls.theme_style == \"Light\":
self.theme_cls.theme_style = \"Dark\"
self.theme_cls.primary_palette = \"DeepPurple\"
self.theme_cls.accent_palette = \"Teal\"
这是我的问题的一些截图(在最后一张图中,文字的颜色是白色)
-
尝试在
App\'s 实例的build方法中设置它们,它们应该在任何地方都可以始终如一地工作。