Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python KivyMD-如何删除列表以及如何向列表中添加函数?_Python_Kivy_Kivymd - Fatal编程技术网

Python KivyMD-如何删除列表以及如何向列表中添加函数?

Python KivyMD-如何删除列表以及如何向列表中添加函数?,python,kivy,kivymd,Python,Kivy,Kivymd,请问:- 如何删除OneLineavariconListItem?就像我单击工具栏右键操作项目打开MDDialog在MDTextField上键入文本,然后按MDFlatButton(“确定”)创建OneLineavarionList并附加到我的列表。创建后,如何删除屏幕上的OneLineAvatarIconListItem,并将其从列表属性中删除 我在MDTextField上键入文本后,按MDFlatButton(“OK”)在屏幕上创建OneLineavarionListItem,如何使刚刚创

请问:-

  • 如何删除OneLineavariconListItem?就像我单击
    工具栏
    右键操作项目
    打开
    MDDialog
    MDTextField
    上键入文本,然后按
    MDFlatButton(“确定”)
    创建
    OneLineavarionList
    并附加到
    我的列表
    。创建后,如何删除屏幕上的
    OneLineAvatarIconListItem
    ,并将其从
    列表属性中删除

  • 我在
    MDTextField
    上键入文本后,按
    MDFlatButton(“OK”)
    在屏幕上创建
    OneLineavarionListItem
    ,如何使刚刚创建的
    OneLineavarionListItem
    具有切换屏幕的功能?几乎与下面的代码相似:

  • 下面是我的代码:

    .py

    from kivy.lang import Builder
    
    from kivy.properties import ListProperty
    
    from kivy.uix.boxlayout import BoxLayout
    from kivy.uix.floatlayout import FloatLayout
    
    from kivymd.uix.dialog import MDDialog
    from kivymd.uix.button import MDFlatButton
    from kivymd.uix.textfield import MDTextField
    
    from kivymd.uix.list import OneLineAvatarIconListItem
    from kivy.uix.screenmanager import Screen
    from kivymd.uix.toolbar import MDToolbar
    from kivymd.uix.label import MDLabel
    from kivy.uix.scrollview import ScrollView
    
    class DialogContent(BoxLayout):
        pass
    
    class MainApp(MDApp):
    
        # Dialog
    
        dialog = None
    
        def show_dialog(self):
            if not self.dialog:
                self.dialog = MDDialog(
                    title= "Testing",
                    type="custom",
                    auto_dismiss=False,
                    content_cls=DialogContent(),
                    buttons=[
                        MDFlatButton(text="CANCEL", on_release=self.close_dialog),
                        MDFlatButton(text="OK", on_release=self.add)
                    ],
                )
            self.dialog.open()
    
        # Dialog -> List
    
        my_list = ListProperty([])
    
        # Dialog -> Add List
    
        def add(self, inst):
            for obj in self.dialog.content_cls.children:
                if(obj, MDTextField):
                    list = OneLineAvatarIconListItem(text=obj.text)
                    self.screen.ids.lists.add_widget(list)
                    self.my_list.append(list)
                self.dialog.content_cls.ids.textfield_id.text = ""
                self.dialog.dismiss()
    
        # Dialog -> Close Dialog
    
        def close_dialog(self, *args):
            self.dialog.content_cls.ids.textfield_id.text = ""
            self.dialog.dismiss()
    
        # Dialog -> Print Lists
    
        def print_list(self):
            print(self.my_list)
    
        # App / KV
    
        def build(self):
            self.screen = Builder.load_file("create_list.kv")
            return self.screen
    
    MainApp().run()
    
    .kv

    # Dialog Content
    
    <DialogContent>:
        orientation: 'vertical'
        spacing: "12dp"
        size_hint_y: None
        height: "35dp"
    
        MDTextField:
            id: textfield_id
    
    # Screen
    
    Screen:
    
        ScreenManager:
            id: screen_manager
    
            Screen:
                name: 'screen 1'
    
                BoxLayout:
                    orientation: 'vertical'
    
                    MDToolbar:
                        title: "Toolbar"
                        elevation: 10
                        pos_hint: {'top': 1}
                        right_action_items: [['plus', lambda x: app.show_dialog()], ['delete', lambda x: app.remove()], ['view-dashboard', lambda x: app.print_list()]]
    
                    ScrollView:
                        MDList:
                            id: lists
    
    #对话框内容
    :
    方向:“垂直”
    间距:“12dp”
    尺寸提示:无
    高度:“35dp”
    MDTextField:
    id:textfield\u id
    #屏风
    屏幕:
    屏幕管理器:
    id:屏幕管理器
    屏幕:
    名称:“屏幕1”
    盒子布局:
    方向:“垂直”
    MDToolbar:
    标题:“工具栏”
    标高:10
    位置提示:{'top':1}
    右[操作]项:[['plus',lambda x:app.show_dialog()],['delete',lambda x:app.remove()],['view-dashboard',lambda x:app.print_list()]
    滚动视图:
    MDList:
    id:列表
    

    # Dialog Content
    
    <DialogContent>:
        orientation: 'vertical'
        spacing: "12dp"
        size_hint_y: None
        height: "35dp"
    
        MDTextField:
            id: textfield_id
    
    # Screen
    
    Screen:
    
        ScreenManager:
            id: screen_manager
    
            Screen:
                name: 'screen 1'
    
                BoxLayout:
                    orientation: 'vertical'
    
                    MDToolbar:
                        title: "Toolbar"
                        elevation: 10
                        pos_hint: {'top': 1}
                        right_action_items: [['plus', lambda x: app.show_dialog()], ['delete', lambda x: app.remove()], ['view-dashboard', lambda x: app.print_list()]]
    
                    ScrollView:
                        MDList:
                            id: lists