在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);
    }
}

运行效果:

相关推荐
金金计较.几秒前
Go语言-2
开发语言·算法·golang
3Q工具箱 - BraggTroy8 分钟前
Python + PyInstaller 实战:从零打造 10 个 Windows 桌面小工具(附全部踩坑记录与核心代码)
开发语言·windows·python
郝学胜_神的一滴10 分钟前
C++11 工程级应用 11:编译期黑魔法,告别重复烂代码
c++·visual studio
Wang's Blog22 分钟前
Java框架快速入门: Spring Security+OAuth2之多因子认证逻辑与实体类改造
java·开发语言·spring
传奇开心果编程26 分钟前
【Rust入门知识点学与练】第26课:Unsafe Rust
开发语言·学习·rust
bug总结27 分钟前
uniapp总结
开发语言·前端·javascript
zyeyeye31 分钟前
C++入门:从HelloWorld到命名空间揭秘
c语言·开发语言·c++·算法
励志不掉头发的内向程序员35 分钟前
【LibreCAD 2D架构】从 addHistory 到 RS_UndoCycle:LibreCAD 里的两套 History 与撤销机制
开发语言·c++·qt·学习·系统架构
Escalating_xu36 分钟前
【mmap 进程间通信】从共享内存到跨进程唤醒:用互斥锁、条件变量控制多个进程
java·linux·开发语言·jvm
走到天涯海角38 分钟前
pinia和Vuex的区别以及使用pinia
开发语言·前端·javascript