我想尝试使用 screenmanager 将多个屏幕插入到我的应用程序中,但是当我启动它时,深色背景“md_bg_color: [22/255, 24/255, 28/255, 1]”变得完全白色,我可以' 不要改变它
这是我的 pyhton代码:
from kivymd.app import MDApp
from kivy.uix.screenmanager import ScreenManager
from kivymd.uix.screen import Screen
from kivy.core.window import Window
from kivymd.uix.dialog import MDDialog
from kivymd.uix.label import MDLabel, MDIcon
from kivymd.uix.button import MDFlatButton, MDRectangleFlatButton
from kivymd.uix.textfield import MDTextField
from kivy.uix.gridlayout import GridLayout
from kivy.lang import Builder
from kivy.uix.relativelayout import RelativeLayout
from kivy.uix.screenmanager import ScreenManager
class FirstWindow(Screen):
pass
class SecondiWindow(Screen):
pass
class WindowManager(ScreenManager):
pass
class MyApp(MDApp):
def build(self):
self.theme_cls.primary_palette = "Orange"
self.theme_cls.primary_hue = 'A700'
return
if __name__ == '__main__':
MyApp().run()
kivy代码:
WindowManager:
FirstWindow:
SecondiWindow:
<SecondiWindow>:
name: 'second'
md_bg_color: [22/255, 24/255, 28/255, 1]
MDBottomNavigation:
MDBottomNavigationItem:
name: "screen-1"
text: 'chat'
icon: 'chat'
MDLabel:
text:"JAHF"
halign: 'center'
MDBottomNavigationItem:
name: "screen-2"
text: 'chadsdsadt'
icon: "coffee"
MDLabel:
text:"JAHFdsdsdds"
halign: 'center'
<FirstWindow>:
name: "first"
md_bg_color: [24/255, 24/255, 28/255, 1]
MDCard:
size_hint: None,None
size: 400,500
pos_hint: {'center_x': 0.5,'center_y': 0.5}
elevation: 3
md_bg_color: [30/255, 30/255, 32/255, 1]
orientation: 'vertical'
padding: (0,0,0,20)
RelativeLayout:
MDLabel:
id: logo
text: "TIKTOK+"
text_size: self.size
color: [205/255, 75/255, 8/255, 1]
font_size: 30
family_name: 'Helvetica'
bold: True
markup: True
valign: 'top'
halign: 'center'
padding: (0,20,0,0)
MDTextField:
id: user
hint_text: 'Enter Username'
helper_text: "or click on forgotten username or password"
helper_text_mode: "on_focus"
helper_text_color: 1,1,1,1
hint_text_color_normal: 1,1,1,1
line_color_normal: 1,1,1,1
icon_right_color_normal: 1,1,1,1
icon_right: "account"
size_hint_x: None
width: 300
font_size: 18
pos_hint: {'center_x': 0.5, 'center_y': 0.7}#, 'center_y': 0.5}
MDTextField:
id: password
hint_text_color_normal: 1,1,1,1
line_color_normal: 1,1,1,1
icon_right_color_normal: 1,1,1,1
hint_text: 'Enter Username'
icon_right: "eye-off"
size_hint_x: None
width: 300
font_size: 18
pos_hint: {'center_x': 0.5, 'center_y': 0.55}
password: True
MDRectangleFlatButton:
id: login
text: 'Login'
pos_hint: {'center_x': 0.7, 'center_y': 0.4}
size_hint: 0.3, None
MDRectangleFlatButton:
id: register
text: 'Registrati'
pos_hint: {'center_x': 0.3, 'center_y': 0.4}
on_release: app.root.current = "second"
MDLabel:
text: "------------------ or ------------------"
text_size: self.size
color: [1,1,1,1]
font_size: 15
family_name: 'Helvetica'
pos_hint: {'center_x': 0.5, 'center_y': 0.78}
halign: 'center'
MDRoundFlatIconButton:
id: google
icon: "google"
text: 'Continua con Google'
icon_color: "white"
text_color: "white"
icon_right: "eye-off"
pos_hint: {'center_x': 0.5, 'center_y': 0.2}
size_hint: 0.7, None
我以为背景颜色没有改变
您正在使用
MSCreen
的属性,但您的屏幕不是 MDScreens
。尝试将代码中的它们更改为:
class FirstWindow(MDScreen):
pass
class SecondiWindow(MDScreen):
pass
class WindowManager(MDScreenManager):
pass