KivyMD
KivyMD copied to clipboard
Button style changes with text change
Description of the Bug
In an MDDialog when changing MDButton text, the button style unexpectedly also changes, in case from 'text' to 'elevated'.
Code and Logs
from kivy.lang import Builder
from kivy.uix.widget import Widget
from kivymd.app import MDApp
from kivymd.uix.button import MDButton, MDButtonText
from kivymd.uix.dialog import (
MDDialog,
MDDialogIcon,
MDDialogHeadlineText,
MDDialogSupportingText,
MDDialogButtonContainer,
MDDialogContentContainer,
)
from kivymd.uix.divider import MDDivider
from kivymd.uix.list import (
MDListItem,
MDListItemLeadingIcon,
MDListItemSupportingText,
)
KV = '''
MDScreen:
md_bg_color: self.theme_cls.backgroundColor
MDButton:
pos_hint: {'center_x': .5, 'center_y': .5}
on_release: app.show_alert_dialog()
MDButtonText:
text: "Show dialog"
'''
class Example(MDApp):
def build(self):
return Builder.load_string(KV)
def show_alert_dialog(self):
self.left_text = MDButtonText(text="Change Text")
self.right_text = MDButtonText(text="Disabled")
MDDialog(
# -----------------------Headline text-------------------------
MDDialogHeadlineText(
text="Button Text Test",
),
# -----------------------Supporting text-----------------------
MDDialogSupportingText(
text="Click left button to change text on both buttons.\n\n"
"Issue: left button style changes from text to elevated."
),
# -----------------------Custom content------------------------
MDDialogContentContainer(
),
# ---------------------Button container------------------------
MDDialogButtonContainer(
Widget(),
MDButton(
self.left_text,
style="text",
on_release=self.change_text
),
MDButton(
self.right_text,
style="text",
disabled = True),
spacing="8dp",
),
# -------------------------------------------------------------
).open()
def change_text(self, button):
self.left_text.text = 'New Text'
self.right_text.text = 'New Text'
Example().run()
Screenshots
See before click left button and after click left button screenshots attached below.
Versions
- OS: Windows 11
- Python: 3.11.1
- Kivy: 2.3.0
- KivyMD: 2.0.1.dev0