Qt实现密码输入框-隐藏或显示密码功能

        密码输入框通常被用于登录界面、注册界面或需要进行身份验证的应用程序中。密码输入框的设计目的是保护用户的密码安全,防止密码被他人偷窥或盗取。        

        Qt的QLineEdit有隐藏密码的功能,所以只需继承 QLineEdit 添加一个QAction,用于实现显示或隐藏密码,即可实现相关功能。比较简单,欢迎参考。

一、简述

        Qt实现密码输入框-隐藏或显示密码功能。在Qt中实现密码输入框的隐藏或显示密码功能可以通过使用QLineEdit和QAction来实现。

二、效果

 

三、核心代码

        主要思路继承 QLineEdit 。添加一个QAction用于实现显示或隐藏密码, 同时为QAction显示或隐藏密码点击事件添加不同的图标。

        首先,创建一个QLineEdit作为密码输入框,然后创建一个QAction作为切换按钮,用于切换密码的显示和隐藏。然后,使用setEchoMode方法来设置QLineEdit的输入模式,将其设置为QLineEdit::Password模式,这样输入的字符将被隐藏。在切换按钮的槽函数中,通过判断QLineEdit的当前输入模式,来切换到相应的模式。如果当前模式为QLineEdit::Password,则将其切换为QLineEdit::Normal模式,这样密码将被显示;如果当前模式为QLineEdit::Normal,则将其切换为QLineEdit::Password模式,密码将被隐藏。

头文件passwordedit.h
#ifndef PASSWORDEDIT_H
#define PASSWORDEDIT_H

#include <QLineEdit>
#include <QAction>

class PasswordEdit : public QLineEdit
{
    Q_OBJECT
public:
    explicit PasswordEdit(QWidget *parent = nullptr);

private:
    void init();
    void onInputVisible();

private:
    QAction *m_pAction;
    bool m_bVisible;
};

#endif // PASSWORDEDIT_H

 实现代码passwordedit.cpp
#include "passwordedit.h"

PasswordEdit::PasswordEdit(QWidget *parent):QLineEdit(parent)
{
    init();
}

void PasswordEdit::init()
{
    setStyleSheet("QLineEdit {font-family: Microsoft YaHei;font-size: 12px;border: 1px solid #e5e5e5;"
                  "border-radius: 4px;padding: 2px 2px;min-height: 24px;max-height: 24px;}");
    m_bVisible = false;
    setEchoMode(QLineEdit::Password);

    m_pAction = new QAction(this);
    m_pAction->setIcon(QIcon(":/res/invisible.svg"));
    addAction(m_pAction,QLineEdit::TrailingPosition);//右侧显示
    connect(m_pAction,&QAction::triggered,this,&PasswordEdit::onInputVisible);
}

void PasswordEdit::onInputVisible()
{
    m_bVisible = !m_bVisible;
    if(m_bVisible)
    {
        m_pAction->setIcon(QIcon(":/res/visible.svg"));
        setEchoMode(QLineEdit::Normal);
    }
    else
    {
        m_pAction->setIcon(QIcon(":/res/invisible.svg"));
        setEchoMode(QLineEdit::Password);
    }
}

        如果需要限制输入,需再为此控件添加一个QValidator (验证器),构造一个验证器,该父对象接受与正则表达式匹配的所有字符串。这里的父对象就是QLineEdit对象了。匹配是针对整个字符串; 例如:如果正则表达式是[A-Fa-f0-9]+将被视为^[A-Fa-f0-9]+$。

        将密码输入框设置为仅接受符合验证器条件的输入。 这允许您对可能输入的文本设置任何约束条件。因此我们这里设置的就是符合上面描述的三种约束条件。

示例如下:

QRegExp regx("^[a-zA-Z][0-9A-Za-z]{14}$");        
QValidator *validator = new QRegExpValidator(regx, lineEdit);
lineEdit->setValidator( validator );
lineEdit->setMaxLength(6);      // 限制只能输入6位

       谢谢您的阅读和耐心,希望本文对您有所帮助。如果您有任何问题或意见,请随时与我联系。祝您一切顺利!

四 、源代码下载
  • 15
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: QT密码设定框二级密码界面是一个用来设置二级密码的界面。二级密码通常用于确保账户安全,特别是在进行敏感操作时。这个界面的设计目的是让用户能够方便地设置和管理他们的二级密码。 在这个界面中,用户可以输入原始密码和新密码。原始密码用于验证用户身份,以确保只有合法用户可以更改二级密码。新密码是用户希望设置的二级密码。 界面上还可以添加其他功能,例如确认密码,用于确保用户输入的新密码没有错误。还可以添加一个密保问题和答案的部分,这样用户在忘记密码时可以通过回答正确的问题来重置密码。 为了提高用户体验,界面可以进行美化和优化。可以使用视觉效果来吸引用户的注意力,比如添加动画效果或者图标。同时,可以保持界面简洁明了,避免太多的冗余信息和菜单选项,以便用户更快地完成设置。 该界面还应该具备一些基本的安全措施,比如密码输入框应该隐藏用户输入的内容,以防止密码泄露。另外,界面应该有合理的输入限制,比如密码长度和格式要求,以提高密码的安全性。 总之,QT密码设定框二级密码界面是为了用户方便地设置和管理他们的二级密码而设计的界面。通过合理的设计和功能,可以提高用户的安全感和使用体验。 ### 回答2: Qt密码设定框二级密码界面是指在Qt界面中,实现一个具有二级密码验证功能密码设定框。这个密码设定框可以用于在程序中对敏感信息或者某些操作进行额外的保护。 首先要在Qt界面中设计一个密码设定框,包含输入新密码和确认密码输入框,以及确定按钮和取消按钮。用户可以在输入框中输入新密码,并通过确认密码来确认输入的正确性。确定按钮用于保存新的密码,取消按钮用于取消设置。 其次,通过信号和槽机制,将确定按钮和取消按钮与相关的功能函数连接起来。当用户点击确定按钮时,首先提取用户输入的新密码和确认密码。然后进行判断,如果两次输入的密码一致,则保存新密码;如果密码不一致,则提示用户两次输入的密码不一致。当用户点击取消按钮时,不对密码进行任何操作。 最后,可以对密码进行二级密码验证。在需要使用密码的地方,可以在程序中添加一个密码验证的函数。当需要验证密码时,用户需要输入先前保存的新密码。如果输入的密码正确,则进行下一步操作,如果密码错误,则不予以执行。 一个明显的应用场景是在某些程序中需要对敏感信息进行访问或者修改时,可以设置一个二级密码来增加额外的保护。例如,在某个金融应用中,用户在进行资金操作前,需要通过二级密码验证,确保只有授权的用户才能进行相关操作。 总之,Qt密码设定框二级密码界面是在Qt界面中实现一个带有二级密码验证功能密码设定框。它能够通过设置和验证密码来增加程序的安全性,并在需要保护敏感信息或者某些操作时发挥作用。 ### 回答3: Qt密码设定框二级密码界面是一个用于设置二级密码的图形用户界面。在这个界面上,用户可以输入原始密码和新密码来修改并设置二级密码。 界面通常包含以下几个部分: 1. 原始密码输入框:用户需要在这个输入框中输入原始密码,以确认身份和权限。只有输入正确的原始密码,用户才能进行后续的操作。 2. 新密码输入框:用户需要在这个输入框中输入新的二级密码。新密码的要求可能会根据具体的安全策略而有所不同,比如要求包含数字和字母,长度不少于8个字符等。 3. 确认密码输入框:用户需要在这个输入框中再次输入新密码进行确认,以避免输入错误。 4. 修改密码按钮:用户在完成原始密码和新密码的输入后,可以点击这个按钮将修改保存并应用到系统中。 5. 取消按钮:用户可以点击这个按钮来取消修改密码的操作,返回上一个界面或关闭密码设定框。 在界面中,通常会为用户提供一些提示信息,比如输入密码的要求、密码匹配的提示等,以帮助用户正确输入和设置密码。 为了提高用户体验和安全性,界面可能还会增加一些额外的功能,比如密码可见性切换按钮、密码强度显示密码输入错误次数限制等。 总的来说,Qt密码设定框二级密码界面提供了一个方便用户设置二级密码的交互环境,通过输入原始密码和新密码,用户可以在系统中建立自己的二级密码,从而加强系统的安全性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值