转载---》 http://blog.sina.com.cn/s/blog_a6fb6cc90101artk.html

在做用户登录界面的时候,往往会用到密码框,则其中的一些功能也要求与普通的输入框不同,包括不能全选、复制、粘贴、无右键菜单等、设置密码不可见等功能!

#include "pwd_line_edit.h"

PwdLineEdit::PwdLineEdit(QWidget *parent) :

 QLineEdit(parent)

{

 //设置无右键菜单

 this->setContextMenuPolicy(Qt::NoContextMenu);

//设置密码提示

 this->setPlaceholderText(tr("密码"));

//设置密码隐藏

 this->setEchoMode(QLineEdit::Password);

//设置密码框样式

this->setStyleSheet("QLineEdit{border-width: 1px; border-radius: 4px; font-size:12px; color: black; border:1px solid gray;}"

  "QLineEdit:hover{border-width: 1px; border-radius: 4px; font-size:12px; color: black; border:1px solid rgb(70, 200, 50);}");

//设置最大长度16位

 this->setMaxLength(16);

}

PwdLineEdit::~PwdLineEdit()

{

}

//屏蔽输入框全选、复制、粘贴功能

void PwdLineEdit::keyPressEvent(QKeyEvent *event)

{

   if(event->matches(QKeySequence::SelectAll))

   {   

      return ;   

   }

   else if(event->matches(QKeySequence::Copy))

   {   

      return ;   

   }

   else if(event->matches(QKeySequence::Paste))

   {   

      return ;   

   }

   else

   {

      QLineEdit::keyPressEvent(event);

   }



 return QWidget::eventFilter(obj, event);

}

//主要设置鼠标位于密码框中时不可移动

void PwdLineEdit::mouseMoveEvent(QMouseEvent *)

{

   return ;

}

效果图如下:

友好地提示用户,且不可复制、粘贴,实现密码的有力保护!

Qt之密码框不可全选、复制、粘贴无右键菜单等的更多相关文章

  1. Qt之密码框不可选中、复制、粘贴、无右键菜单等

    简述 在做用户登录.修改密码的时候,往往会用到密码框,其中一些功能要求与普通的输入框不同,例如:不能选中.复制.粘贴.无右键菜单等功能,当然设置密码不可见是必须的! 下面介绍两种方式来实现相同的效果. ...

  2. 【Qt】Qt之密码框不可选中、复制、粘贴、无右键菜单等【转】

    简述 在做用户登录.修改密码的时候,往往会用到密码框,其中一些功能要求与普通的输入框不同,例如:不能选中.复制.粘贴.无右键菜单等功能,当然设置密码不可见是必须的! 下面介绍两种方式来实现相同的效果. ...

  3. vim全选复制粘贴

    感谢来源:http://blog.sina.com.cn/s/blog_6e70abbd0100zbk9.html ggVG #gg: 光标跳转到首行,在vim才有效,vi中无效 #V 是进入Visu ...

  4. Qt 密码框不可选中、复制、粘贴、无右键菜单等

    在做用户登录.修改密码的时候,往往会用到密码框,其中一些功能要求与普通的输入框不同. 例如:不能选中.复制.粘贴.无右键菜单等功能,当然设置密码不可见是必须的! 一般的密码框:(默认 可以选中,复制, ...

  5. js实现复选框的全选、全不选、反选

    js中实现复选框的全选,全不选以及反选,分为两种情况: (1)选中“请选择”前面的复选框实现全选,不选中“请选择”前面的复选框实现全不选 <!DOCTYPE html PUBLIC " ...

  6. JQ实现复选框的全选反选不选

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  7. js做全选,用一个checkbox复选框做多个checkbox复选框的全选按钮,有一个复选框未被选择时,全选按钮的checked就为false

    用一个checkbox复选框做多个checkbox复选框的全选按钮,有一个复选框未被选择时,全选按钮的checked就为false,当所有checkbox都被选中时,全选按钮也被选中. 详解: 有两种 ...

  8. 【jQuery】复选框的全选、反选,推断哪些复选框被选中

    本文与<[JavaScript]复选框的全选.反选.推断哪些复选框被选中>(点击打开链接)为姊妹篇,把里面内容再与jQuery框架中实现一次,相同做到例如以下的效果: 布局还是相同的布局, ...

  9. js实现复选框的全选、全不选和反选

    js实现复选框的全选.全不选和反选 主要是用遍历的方法查找元素,然后通过改变checked的属性来选择,为true则是选中状态,为false则是未选状态 实现代码 <!DOCTYPE html& ...

随机推荐

  1. 迷宫问题(java实现)

    1. public class Direction { private int x; private int y; public Direction(int x, int y) { this.x = ...

  2. Xamarin.Forms学习之初

    微软的Build 2016结束的有段时间了,对于一个简单的小屌丝程序员--我来说,关注最大的无疑是Xamarin的免费(开源什么的让大神们上吧),内心激动啊.大会结束的周末我就迫不及待的安装了,然后. ...

  3. 使用jquery获取单选按钮radio的值

    <input type="radio" name="gender" value="男" >男</input> < ...

  4. jquery拓展插件-popup弹窗

    css:<style> /* 公共弹出层 */ .popWrap{position: fixed;left: 0;top: 0; width: 100%;height: 100%;z-in ...

  5. bootstrap页面布局

    首先,我们必须明确,在这四种角色登录网站,看到页面是不同,这里不仅涉及到后端的权限控制,还涉及到前端页面的布局,区分好这些角色看的东西哪些是相同的,哪些又是不同的呢,这个必须在这里想明白,所以要做好页 ...

  6. MySQL中行锁的算法

    行锁的3中算法 Record Lock:单个行记录上的锁 Gap Lock:间隙锁,锁定一个范围,但不包含记录本身 Next-key Lock:Gap Lock+Record Lock锁定一个范围,并 ...

  7. python——random模块

    用法示例: import random # 1)随机小数 print(random.random()) # 获取大于0且小于1 之间的小数 random.random() print(random.u ...

  8. 内置函数:min 用法

    内置函数:min 用法 源码 def min(*args, key=None): # known special case of min """ min(iterable ...

  9. Eclipse中tomcat设置

    首先在Eclipse中新建一个tomcat的server,这里就不多说了. 新建完成后,双击新建的server,如下: 设置1:在Server Locations里,选择Use Tomcat inst ...

  10. Spring学习笔记1—依赖注入(构造器注入、set注入和注解注入)

    什么是依赖注入 在以前的java开发中,某个类中需要依赖其它类的方法时,通常是new一个依赖类再调用类实例的方法,这种方法耦合度太高并且不容易测试,spring提出了依赖注入的思想,即依赖类不由程序员 ...