在Qt中通过控制按钮实现登录界面密码与明码的转换

创建控件:

首先,在Qt设计师界面界面上创建QLineEdit类文本框,用于输入密码,并且实现密码与明码相互转化。

设置初始状态:

默认情况下,输入密码的文本框应该是可见的并允许用户输入。

添加切换按钮:

在界面上添加一个按钮,用于触发切换操作。这个按钮可以是一个简单的开关按钮,比如一个复选框或者一个切换图标。

编写切换逻辑:

当用户点击切换按钮时,触发一个事件或函数,该事件或函数会检查当前显示的是密码还是明码,然后切换到另一个状态。

更新显示内容:

根据当前的显示状态,点击按钮更新显示密码的文本框的内容。如果显示的是密码,点击按钮则将其转换为明码;如果显示的是明码,点击按钮则将其转换为密码。

具体代码:

cpp 复制代码
void MainWindow::on_pushButton_clicked(bool checked)
{
   
       //需要在相应的.h文件中加入int mark=1;

    mark++;
    if(mark%2==0){
        ui->pushButton->setIcon(QIcon(":/new/prefix2/image/mi.png"));
        ui->key->setEchoMode(QLineEdit::Normal);
    }
    else{
        ui->pushButton->setIcon(QIcon(":/new/prefix2/image/ma.png"));
        ui->key->setEchoMode(QLineEdit::Password);
    }
}

运行效果:

相关推荐
zwc321043205530 分钟前
Day 5:threshold与inRange阈值分割
c++·图像处理·人工智能·opencv·算法·计算机视觉
OxYGC36 分钟前
[工程] PHP2Shell 漏洞解析:两条 PHP 内核 RCE,为什么应用层的防护全部失效
android·开发语言·php
小徐不徐说39 分钟前
数据库存储基础:理解表结构、主键、事务与 BLOB
开发语言·数据库·c++·qt·程序设计
草莓熊Lotso1 小时前
【C++ 基于微服务的即时通讯系统】网关基建:cpp-httplib 与 WebSocketpp 从入门到实战
linux·开发语言·数据库·c++·redis·微服务·云原生
李纲明1 小时前
WordPress 媒体库上传失败或一直转圈:先核 PHP 上传限制与目录权限,再查安全插件与对象存储
运维·开发语言·安全·php·wordpress·媒体库·devdiy
第九序言T9 小时前
Python 数据处理进阶(十八)批量处理同结构文件:一个文件夹一次跑完
开发语言·python·自动化·pandas·数据处理
Sakura_j_h_10 小时前
EasyEDA PCB 快速设计Skills
c++·python·github
龙亘川11 小时前
构建城市公共安全数字底座:亘川智城智慧安防系统全维度解读
java·大数据·开发语言·人工智能·信息可视化
程序喵大人11 小时前
【C++入门】内存模型与资源管理 - 09 shared_ptr 和 weak_ptr 解决共享,也带来代价
开发语言·c++·资源管理·智能指针·内存模型
Raas10011 小时前
AI网关部署方案?从部署到上线全流程
java·开发语言·人工智能·gateway·ai网关·企业级ai网关·企业级ai产品