KivyMD - right/left_action_items вызывает "объект со слабой ссылкой больше не существует"
Я пытаюсь изучить KivyMD и решил написать простое приложение со списком покупок.
Я хочу добавлять новые записи в список покупок, добавляя их через диалоговое окно. Я получаю сообщение об ошибке при попытке запустить приведенный ниже код:
from kivymd.app import MDApp
from kivymd.uix.list import MDList, IconLeftWidget, OneLineIconListItem
from kivymd.icon_definitions import md_icons
from kivymd.uix.toolbar import MDToolbar
from kivymd.uix.dialog import MDDialog
from kivy.properties import ObjectProperty
from kivymd.uix.boxlayout import BoxLayout
from kivy.uix.scrollview import ScrollView
from kivymd.uix.screen import Screen
from kivymd.uix.button import MDFlatButton
from kivymd.uix.textfield import MDTextFieldRect, MDTextField
class ShoppingListApp(MDApp):
def build(self):
screen = Screen()
scroll = ScrollView()
toolbar = MDToolbar(title="Shopping List", anchor_title="center")
toolbar.right_action_items = [['plus', self.dialog_window]]
screen.add_widget(scroll)
self.kvmd_list = MDList()
#self.test_button = MDFlatButton(text="TEST BUTTON", on_press=self.dialog_window)
#screen.add_widget(self.test_button)
scroll.add_widget(self.kvmd_list)
self.theme_cls.theme_style = "Light"
self.theme_cls.primary_palette = "BlueGray"
self.theme_cls.primary_hue = '400'
self.kvmd_list.add_widget(toolbar)
return screen
def dialog_window(self, obj):
self.dialog = MDDialog(
title="Add new item:",
buttons=[
MDFlatButton(
text="Add",
),
],
)
self.dialog.set_normal_height()
self.dialog.open()
ShoppingListApp().run()
Я получаю следующее сообщение об ошибке:
объект со слабой ссылкой больше не существует
Я сузил круг до toolbar.right_action_items = [['plus', self.dialog_window]]
, жестко, неважно, слева он или справа.
Проблема исчезает, когда я раскомментирую self.test.button
.
Я не понимаю, почему это происходит. Мне здесь не хватает чего-то действительно простого?
Спасибо.