如何修复KivyMD中的后台初始化错误?

2024-10-04 11:24:37 发布

您现在位置:Python中文网/ 问答频道 /正文

当我使用KivyMD时,背景似乎未初始化。例如,当我尝试MDTapTargetView的演示代码(见下文)时,结果是屏幕上的TapTarget看起来是黑色的(看起来应该是白色的),但当TapTarget关闭时,黑色部分不会自行刷新(我们看到以前的图形)。我正在Windows 10上用KivyMD v0.104.1测试Kivy v1.11.1。如果我在顶部画布上显式绘制一个矩形,我可以解决这个问题。之前,但我希望我不需要这样做。我不知道如何调试这个问题

from kivy.lang import Builder
from kivymd.app import MDApp
from kivymd.uix.taptargetview import MDTapTargetView

KV = '''
Screen:
    MDFloatingActionButton:
        id: button
        icon: "plus"
        pos: 10, 10
        on_release: app.tap_target_start()
'''

class TapTargetViewDemo(MDApp):
    def build(self):
        screen = Builder.load_string(KV)
        self.tap_target_view = MDTapTargetView(
            widget=screen.ids.button,
            title_text="This is an add button",
            description_text="This is a description of the button",
            widget_position="left_bottom",
        )
        return screen

    def tap_target_start(self):
        if self.tap_target_view.state == "close":
            self.tap_target_view.start()
        else:
            self.tap_target_view.stop()

TapTargetViewDemo().run()

Tags: fromimportselfviewtargetbuilderbuttontap