python - 使用 MDDropdownMenu 递归地动态选择项目的问题
问题描述
有人可以帮助解决以下错误。MDDropdownMenu 引发属性错误,如下所示
AttributeError: 'super' object has no attribute '__getattr__'
下面是我的 py 文件和 kv 文件。我正在尝试在另一个列表中动态选择一项。例如:
国家= ['日本','澳大利亚','加拿大']
when Japan is selected then only states of Japan list needs to get loaded in the next list items and not states of other countries.
日本 = ['东京','千叶','关东']
我的 .py & .kv 文件如下:
class MainApp(MDApp):
def __init__(self, **kwargs):
super().__init__(**kwargs)
self.kv = Builder.load_file('../Files/test.kv')
items = [ 'Japan', 'Australia', 'Canada']
menu_items = [{"text": f"{i}"} for i in items]
self.menu = MDDropdownMenu(caller=self.kv.ids.field, items=menu_items, position="bottom", width_mult=3,)
self.menu.bind(on_release=self.set_item)
def set_item(self, instance_menu, instance_menu_item):
def set_item(interval):
self.kv.ids.field.text = instance_menu_item.text
instance_menu.dismiss()
Clock.schedule_once(set_item, 0.5)
def build(self):
return self.kv
<Address>:
id: country
MDScreen :
md_bg_color : [102/255,153/255,153/255,1]
MDCard :
size_hint : None, None
size : 300, 450
pos_hint : {"center_x":.5,"center_y":.5}
elevation : 15
md_bg_color : [157/255,159/255,48/255,1]
padding : 20
spacing : 30
orientation : "vertical"
MDTextField:
id: field
pos_hint: {'center_x': .5, 'center_y': .5}
size_hint_x: None
width: "200dp"
hint_text: "Choose Country"
required: True
helper_text_mode: "on_error"
on_focus: if self.focus: app.menu.open()
MDTextField:
id: field
pos_hint: {'center_x': .5, 'center_y': .5}
size_hint_x: None
width: "200dp"
hint_text: "Choose State"
required: True
helper_text_mode: "on_error"
on_focus: if self.focus: app.menu.open()
MDTextField:
id: field
pos_hint: {'center_x': .5, 'center_y': .5}
size_hint_x: None
width: "200dp"
hint_text: "Choose City"
required: True
helper_text_mode: "on_error"
on_focus: if self.focus: app.menu.open()
MDRoundFlatButton :
text : 'Submit'
pos_hint : {'center_x':0.5, 'center_y':0.5}
font_size : 20
text_color: 0, 0, 0, 0
on_release:
root.submit()
Widget :
size_hint_y : None
height : 30
解决方案
推荐阅读
- python - Discord.py 在获取作者 ping 时遇到问题
- sql - 蜂巢梳理阵列
一串 - flutter - Flutter 中导航转换与“普通”Andriod 相比的差异
- google-sheets - 我正在尝试在 Google 协助操作控制台上的应用程序上上传 Google 工作表,但它给出了错误?
- google-bigquery - 关于 BigQuery 数据容量的保存方式。(BigQuery/Data Portal/Data Studio/Google)
- c# - 单击“下一步”时如何使用 MessageBox 验证多个文本框?视觉工作室(c# Winforms)
- d3.js - D3.js 版本 3 是否支持 es6/es2015
- vba - 如何根据发件人域将电子邮件移动到文件夹
- javascript - 是否可以在 VueJs 中为 paypal 智能按钮有条件地呈现 src 脚本?
- php - Laravel excel 3.1问题导入文件时出现空白页