【发布时间】:2021-07-15 12:03:11
【问题描述】:
我用python 3.9.5、kivy 2.0.0rc4 和kivymd 0.104.2 做了一个游戏。我制作了 MDDialog。其中有复选框。如果没有选中它们,我想禁用“确认”按钮。如果其中一个被选中,我想启用“确认”按钮。当没有检查任何一个时,我已经设法禁用,但是如果我检查其中一个,按钮仍然被禁用。这是我的python 代码:
class ItemConfirm(OneLineAvatarIconListItem):
divider = None
dialog = None
def show_confirmation_dialog(self, *args):
self.dialog = MDDialog(
title="Score Limit",
type="confirmation",
auto_dismiss=False,
items=[
ItemConfirm(text="30"),
ItemConfirm(text="40"),
ItemConfirm(text="50"),
ItemConfirm(text="60"),
],
buttons=[
MDFlatButton(
text="CONFIRM", text_color=(1, 0, 0, 1), on_release=self.score_limit, disabled=True if self.ids.check.active == False else False
),
]
)
self.dialog.open()
def score_limit(self, *args, **kwargs):
self.dialog.dismiss()
这是我的kivy 代码:
<ItemConfirm>
CheckboxLeftWidget:
id: check
group: "check"
【问题讨论】:
-
我也想知道是否可以为 MDDialog 中的按钮提供 id。如果可以,我想知道如何