AttributeError:“Snackbar”对象没有属性“show”

Posted

技术标签:

【中文标题】AttributeError:“Snackbar”对象没有属性“show”【英文标题】:AttributeError: 'Snackbar' object has no attribute 'show' 【发布时间】:2021-01-05 13:53:18 【问题描述】:

我正在使用 kivymd 制作桌面应用程序,我需要在单击按钮时显示一个简单的 Snackbar,让用户知道该过程进展顺利,但无论我尝试做什么,我都会收到错误消息: 。 我正确安装了 kivy 和 kivymd,我知道这一点是因为我已经在不使用 Snackbars 的情况下制作了一个应用程序。希望你能帮助我,代码如下:

from kivy.lang import Builder
from kivymd.app import MDApp
from kivymd.uix.snackbar import Snackbar

KV = '''
BoxLayout:
    MDRaisedButton:
        text: "click"
        on_press: app.test_bar()
'''

class TestApp(MDApp):
    def build(self):
        return Builder.load_string(KV)
    
    def test_bar(self):
        Snackbar(text="Hello world!").show()

TestApp().run()

【问题讨论】:

【参考方案1】:
Snackbar(text="Hello world!").open()

【讨论】:

就这么简单!谢谢伙计。但是为什么它在文档上说 show() ?它只是过时了吗? kivymd.readthedocs.io/en/latest/components/snackbar/index.html 到目前为止,新版本文档的构建已被破坏。

以上是关于AttributeError:“Snackbar”对象没有属性“show”的主要内容,如果未能解决你的问题,请参考以下文章

Snackbar源码分析

Android SnackBar使用方法

Snackbar 的高度自定义

BottomNavigation 下的 Snackbar

Android Material Design 系列之 SnackBar详解

Vue Snackbar 消息条队列显示,依次动画消失的实现