【问题标题】:when i use screenmanager no thing displayed om my screen kivymd python当我使用屏幕管理器时,我的屏幕上没有任何显示 kivymd python
【发布时间】:2021-04-03 16:12:58
【问题描述】:

当我使用 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'

【问题讨论】:

    标签: python kivy kivymd


    【解决方案1】:

    问题是,您没有将类的第一个字母大写。 Kivy 对此非常挑剔,当你不这样做时拒绝正确加载屏幕。

    附注:

    类应始终大写并按照PEP 8使用PascalCase

    更正的代码:

    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()
    

    【讨论】:

      猜你喜欢
      • 2021-06-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-21
      • 1970-01-01
      • 1970-01-01
      • 2014-05-18
      相关资源
      最近更新 更多