kivyMD列表更新图标



我正在使用以下函数在滚动视图中创建MDlist TwoLineIconListItem。我想做的是更改另一个功能中的图标。我以为x.icon = 'New_icon'这样的东西可能会起作用,但没有。不确定在哪里可以得到想要的结果。

def rule_list(self):
'''Query of all rules and generates a list view under the rule tab....not really working all the way yet'''
db.execute('''SELECT * from rules''')
self.rows = db.fetchall()
for r in self.rows:
self.rule = f'{self.cfg["host"]}:{self.cfg["port"]}/api/firewall/filter/getRule/{r[2]}'
rules = TwoLineIconListItem(
text=r[1],
secondary_text=r[2],
on_release=lambda x: threading.Thread(
target=self.rule_on_click, args=(x.secondary_text, x), daemon=True).start()
)
self.check = requests.get(url=self.rule, auth=(
self.key, self.secret), verify=False)
if self.check.status_code == 200:
check_rule = json.loads(self.check.text)
if check_rule['rule']['enabled'] == '1':
rules.add_widget(IconLeftWidget(
icon='checkbox-marked-circle-outline'
))
else:
rules.add_widget(IconLeftWidget(
icon='checkbox-blank-circle-outline'
))
self.root.ids.ruleList.add_widget(rules)

我通过在具有分配正确图标逻辑的函数中使用以下内容解决了这个问题。

x.children[0].children[0].icon = new_icon

最新更新