Python KivyMD-如何删除列表以及如何向列表中添加函数?
请问:-Python KivyMD-如何删除列表以及如何向列表中添加函数?,python,kivy,kivymd,Python,Kivy,Kivymd,请问:- 如何删除OneLineavariconListItem?就像我单击工具栏右键操作项目打开MDDialog在MDTextField上键入文本,然后按MDFlatButton(“确定”)创建OneLineavarionList并附加到我的列表。创建后,如何删除屏幕上的OneLineAvatarIconListItem,并将其从列表属性中删除 我在MDTextField上键入文本后,按MDFlatButton(“OK”)在屏幕上创建OneLineavarionListItem,如何使刚刚创
工具栏
右键操作项目
打开MDDialog
在MDTextField
上键入文本,然后按MDFlatButton(“确定”)
创建OneLineavarionList
并附加到我的列表
。创建后,如何删除屏幕上的OneLineAvatarIconListItem
,并将其从列表属性中删除
MDTextField
上键入文本后,按MDFlatButton(“OK”)
在屏幕上创建OneLineavarionListItem
,如何使刚刚创建的OneLineavarionListItem
具有切换屏幕的功能?几乎与下面的代码相似:
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