【问题标题】:kivyMD list update IconkivyMD 列表更新图标
【发布时间】:2021-04-22 11:20:24
【问题描述】:

我正在使用以下函数在滚动视图中创建一个 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)

【问题讨论】:

    标签: python-3.x kivy kivymd


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2021-11-17
      • 1970-01-01
      • 2021-02-14
      • 2020-11-23
      • 1970-01-01
      • 1970-01-01
      • 2023-01-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多