小编Art*_*kov的帖子

KivyMD:从屏幕类访问标签 ID

我正在使用 KivyMD,并且想使用“on_pre_enter”方法刷新第二个屏幕中的数据。我试图从屏幕类“on_pre_enter”方法访问标签 ID,但没有成功。

我可以从“MainApp”类访问标签ID,但无法从“Second_Screen”类访问它。

主应用程序.py

from kivy.lang import Builder
from kivymd.app import MDApp
from kivy.uix.screenmanager import ScreenManager, Screen


class MainApp(MDApp):
    def __init__(self, **kwargs):
        self.title = "My Material Application"
        self.theme_cls.primary_palette = "Blue"
        super().__init__(**kwargs)

    def on_start(self):
        self.root.ids.main_screen_label.text = "Main Screen Updated"

    def build(self):
        self.root = Builder.load_file("app.kv")


class Second_Screen(Screen):
    def on_pre_enter(self):
        MainApp.ids.second_screen_label = "Second Screen Updated"

    pass


if __name__ == "__main__":
    MainApp().run()
Run Code Online (Sandbox Code Playgroud)

应用程序kv

NavigationLayout:
    MDNavigationDrawer:
        NavigationDrawerSubheader:
            text: "Menu:"

        NavigationDrawerIconButton:
            icon:'battery'
            text: "Main Screen"
            on_release:
                screen_manager.current = "main_screen"

        NavigationDrawerIconButton:
            icon:'battery'
            text: "Second Screen"
            on_release: …
Run Code Online (Sandbox Code Playgroud)

python kivy kivymd

3
推荐指数
1
解决办法
6637
查看次数

使用 KivyMD 库运行应用程序时出现错误,没有名为“kivymd.app”的模块

我正在使用KivyMD 0.102.0,它在运行 main.py 文件时给了我一个错误。

在此输入图像描述

我收到以下错误。

SS

   Error:  No module named 'kivymd.app'
Run Code Online (Sandbox Code Playgroud)

运行此示例代码时

python kivy kivy-language kivymd

-3
推荐指数
1
解决办法
1万
查看次数

标签 统计

kivy ×2

kivymd ×2

python ×2

kivy-language ×1