当我使用 screenmanager 时,我的屏幕 kivymd 没有显示任何东西 python
when i use screenmanager no thing displayed om my screen kivymd python
当我使用 screenmanager 时,我的屏幕 kivymd 没有任何显示 python
我没有收到任何错误,这意味着我的代码中没有错误,但它不显示任何内容,并且两个屏幕中的任何一个
这是我的代码:
from kivymd.app import MDApp
from kivy.uix.widget import Widget
from kivy.lang.builder import Builder
from kivy.uix.screenmanager import Screen, ScreenManager
from kivymd.uix.toolbar import MDToolbar
from kivymd.uix.button import MDFlatButton, MDRectangleFlatButton, MDIconButton, MDFloatingActionButton
from kivymd.uix.label import MDLabel, MDIcon
class firstscreen(Screen):
pass
class secondscreen(Screen):
pass
class windowmanager(ScreenManager):
pass
kv = Builder.load_file('sc.kv')
class Yom(MDApp):
def build(self):
return kv
if __name__ == '__main__':
Yom().run()
这是 sc.kv 文件
windowmanager:
firstscreen:
secondscreen:
<firstscreen>:
name:'firstscreen'
MDRectangleFlatButton:
text:"calc moy"
pos_hint:{'center_x':0.5,'center_y':0.5}
on_release:MDApp.root.current='secondscreen'
<secondscreen>:
name:'secondscreen'
MDLabel:
text:'welcome to calcu screen'
halign:'center'
问题是,您没有将 类 的第一个字母大写。 Kivy 对此非常挑剔,如果您不这样做,它会拒绝正确加载屏幕。
旁注:
类 应始终大写并使用 PascalCase as per PEP 8
更正后的代码:
main.kv:
WindowManager:
FirstScreen:
secondscreen:
<FirstScreen>:
name:'firstscreen'
MDRectangleFlatButton:
text:"calc moy"
pos_hint:{'center_x':0.5,'center_y':0.5}
on_release:MDApp.root.current='secondscreen'
<SecondScreen>:
name:'secondscreen'
MDLabel:
text:'welcome to calcu screen'
halign:'center'
main.py:
from kivymd.app import MDApp
from kivy.uix.widget import Widget
from kivy.lang.builder import Builder
from kivy.uix.screenmanager import Screen, ScreenManager
from kivymd.uix.toolbar import MDToolbar
from kivymd.uix.button import MDFlatButton, MDRectangleFlatButton, MDIconButton, MDFloatingActionButton
from kivymd.uix.label import MDLabel, MDIcon
class FirstScreen(Screen):
pass
class SecondScreen(Screen):
pass
class WindowManager(ScreenManager):
pass
class Yom(MDApp):
def build(self):
kv = Builder.load_file('main.kv')
return kv
if __name__ == '__main__':
Yom().run()
当我使用 screenmanager 时,我的屏幕 kivymd 没有任何显示 python 我没有收到任何错误,这意味着我的代码中没有错误,但它不显示任何内容,并且两个屏幕中的任何一个
这是我的代码:
from kivymd.app import MDApp
from kivy.uix.widget import Widget
from kivy.lang.builder import Builder
from kivy.uix.screenmanager import Screen, ScreenManager
from kivymd.uix.toolbar import MDToolbar
from kivymd.uix.button import MDFlatButton, MDRectangleFlatButton, MDIconButton, MDFloatingActionButton
from kivymd.uix.label import MDLabel, MDIcon
class firstscreen(Screen):
pass
class secondscreen(Screen):
pass
class windowmanager(ScreenManager):
pass
kv = Builder.load_file('sc.kv')
class Yom(MDApp):
def build(self):
return kv
if __name__ == '__main__':
Yom().run()
这是 sc.kv 文件
windowmanager:
firstscreen:
secondscreen:
<firstscreen>:
name:'firstscreen'
MDRectangleFlatButton:
text:"calc moy"
pos_hint:{'center_x':0.5,'center_y':0.5}
on_release:MDApp.root.current='secondscreen'
<secondscreen>:
name:'secondscreen'
MDLabel:
text:'welcome to calcu screen'
halign:'center'
问题是,您没有将 类 的第一个字母大写。 Kivy 对此非常挑剔,如果您不这样做,它会拒绝正确加载屏幕。
旁注:
类 应始终大写并使用 PascalCase as per PEP 8
更正后的代码:
main.kv:
WindowManager:
FirstScreen:
secondscreen:
<FirstScreen>:
name:'firstscreen'
MDRectangleFlatButton:
text:"calc moy"
pos_hint:{'center_x':0.5,'center_y':0.5}
on_release:MDApp.root.current='secondscreen'
<SecondScreen>:
name:'secondscreen'
MDLabel:
text:'welcome to calcu screen'
halign:'center'
main.py:
from kivymd.app import MDApp
from kivy.uix.widget import Widget
from kivy.lang.builder import Builder
from kivy.uix.screenmanager import Screen, ScreenManager
from kivymd.uix.toolbar import MDToolbar
from kivymd.uix.button import MDFlatButton, MDRectangleFlatButton, MDIconButton, MDFloatingActionButton
from kivymd.uix.label import MDLabel, MDIcon
class FirstScreen(Screen):
pass
class SecondScreen(Screen):
pass
class WindowManager(ScreenManager):
pass
class Yom(MDApp):
def build(self):
kv = Builder.load_file('main.kv')
return kv
if __name__ == '__main__':
Yom().run()