QT 点击按钮改变输入框中文字显示(明文或密文)

本文介绍了如何在QT中实现点击按钮动态切换QLineEdit的文字显示状态,从明文到密文,反之亦然。通过设置QLineEdit的EchoMode属性,并结合按钮的图像变化,实现了一个简单的安全输入功能。文章提供了简化后的信号槽实现方法。
摘要由CSDN通过智能技术生成

今天刚好要做这个功能,但是发现网上的参考资料有点少。所以就写了这篇。

效果图如下:

 

在这之前先讲以下QLineEdit明文和密文的写法。

代码如下

      关于setEchoMode的几种用法
      //默认,输入什么即显示什么
      echoLineEdit->setEchoMode(QLineEdit::Normal);
      //密码,一般是用小黑点覆盖你所输入的字符
      echoLineEdit->setEchoMode(QLineEdit::Password);
      //编辑时输入字符显示输入内容,否则用小黑点代替
      echoLineEdit->setEchoMode(QLineEdit::PasswordEchoOnEdit);
      //任何输入都看不见(只是看不见,不是不能输入)
      echoLineEdit->setEchoMode(QLineEdit::NoEcho);

了解了QLineEdit的显示方式,在了解如何给按钮添加图片。

我之前写的会比较复杂

    searchBtn = new QPushButton();
    searchBtn-&
  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这个问题涉及到前端开发,可以使用HTML、CSS和JavaScript实现。以下是一种实现方式: 首先,在HTML添加一个密码输入框和一个眼睛图标: ```html <input type="password" id="password-input"> <i class="fa fa-eye" id="password-toggle"></i> ``` 其,`id="password-input"`是密码输入框的ID,`id="password-toggle"`是眼睛图标的ID。眼睛图标使用了Font Awesome图标库的图标。 然后,在CSS添加样式: ```css #password-toggle { position: absolute; right: 10px; top: 50%; transform: translateY(-50%); cursor: pointer; } #password-toggle:hover { opacity: 0.7; } ``` 这段CSS将眼睛图标定位到密码输入框的右侧,并且设置了鼠标悬停时的透明度。 最后,在JavaScript添加事件处理程序: ```javascript const passwordInput = document.getElementById("password-input"); const passwordToggle = document.getElementById("password-toggle"); passwordToggle.addEventListener("mousedown", function() { passwordInput.type = "text"; }); passwordToggle.addEventListener("mouseup", function() { passwordInput.type = "password"; }); ``` 这段JavaScript将获取密码输入框和眼睛图标的元素,并且为眼睛图标添加了`mousedown`和`mouseup`事件处理程序。当鼠标左键按下时,将密码输入框的`type`属性设置为`text`,从而将密码显示明文;当鼠标松开时,将密码输入框的`type`属性设置为`password`,从而将密码显示密文。 这样,就可以在密码输入框添加显示明文眼睛,并且实现鼠标左键点击眼睛密码显示明文,松开鼠标显示密文的功能了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值