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

运行效果:

相关推荐
小莞尔24 分钟前
【51单片机】【protues仿真】 基于51单片机八路抢答器系统
c语言·开发语言·单片机·嵌入式硬件·51单片机
我是菜鸟0713号1 小时前
Qt 中 OPC UA 通讯实战
开发语言·qt
JCBP_1 小时前
QT(4)
开发语言·汇编·c++·qt·算法
Brookty1 小时前
【JavaEE】线程安全-内存可见性、指令全排序
java·开发语言·后端·java-ee·线程安全·内存可见性·指令重排序
百锦再1 小时前
[特殊字符] Python在CentOS系统执行深度指南
开发语言·python·plotly·django·centos·virtualenv·pygame
Anson Jiang1 小时前
浏览器标签页管理:使用chrome.tabs API实现新建、切换、抓取内容——Chrome插件开发从入门到精通系列教程06
开发语言·前端·javascript·chrome·ecmascript·chrome devtools·chrome插件
会开花的二叉树1 小时前
继承与组合:C++面向对象的核心
java·开发语言·c++
潮汐退涨月冷风霜2 小时前
数字图像处理(1)OpenCV C++ & Opencv Python显示图像和视频
c++·python·opencv
长河3 小时前
Java开发者LLM实战——LangChain4j最新版教学知识库实战
java·开发语言
第七序章3 小时前
【C++STL】list的详细用法和底层实现
c语言·c++·自然语言处理·list