首页 > 解决方案 > 在密码文本字段上,我想应用一个不隐藏显示密码的选项,供用户在 qml 中检查和确认

问题描述

假设用户用密码填写文本字段并且密码是密码格式(即 echoMode: TextField.Password ),那么用户如何检查它是否正确?如何在点击时取消隐藏密码?

                    TextField {
                        id: loginPassword
                        Layout.preferredWidth:app.width*0.8
                        color:"#ffffff"
                        font.pixelSize: 14*app.scaleFactor
                        echoMode: TextField.Password                  
                        background: Rectangle {
                            implicitWidth: 290*app.scaleFactor
                            implicitHeight: 40*app.scaleFactor
                            radius: 4*app.scaleFactor
                            color: "transparent"
                            border.color: "#ffffff"
                            height: 37*app.scaleFactor
                        }
                    } 

标签: qml

解决方案


您只需切换 echoMode 属性。如果需要,您可以添加一个布尔属性来控制它。

TextField {
    id: loginPassword

    property bool showText: false

    echoMode: showText ? TextField.Normal : TextField.Password
}

然后,当您想要切换它时(例如按下鼠标或单击按钮或其他),只需设置loginPassword.showText = true.


推荐阅读