如何在元素图标上挂一个按钮:KivyMD 中的 MDTextFieldRound?

时间:2021-08-01 20:09:51

标签: python button kivy icons kivymd

我是 Kivy 的新手。我制作了一个简单的登录表单,并希望通过单击密码旁边的图标来更改密码的可见性。就像在一个教程视频中一样,我在一个单独的文件中制作了这个图标,扩展名为 kv。我怎样才能使这个图标成为一个按钮并通过点击这个图标来切换 self.pswstate。我可以简单地做还是应该改变代码的结构并将这部分写入主Python文件?

登录.py:

from kivy.lang import Builder
from kivy.uix.button import Button
from kivy.uix.boxlayout import BoxLayout
from kivymd.app import MDApp

class LoginApp(MDApp):
    
    def build(self):
        self.pswstate = True
        return Builder.load_file("kv/login.kv")

LoginApp().run()

登录.kv

MDScreen:
    #code
    MDCard:
        ##code
        MDLabel:
            ##code
        MDTextFieldRound:
            ##code
        MDTextFieldRound:
            hint_text: "Password"
            icon_right: "eye" if app.pswstate == False else "eye-off"
            size_hint_x: None
            width: 220
            font_size: 20
            pos_hint: {"center_x": .5}
            normal_color: [1, 1, 1, 1]
            color_active: [1, 1, 1, 1]
            password: app.pswstate

0 个答案:

没有答案