Qt之密码框不可全选、复制、粘贴无右键菜单等
2013-09-10 21:22
375 查看
转载---》 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 ;
}
效果图如下:
友好地提示用户,且不可复制、粘贴,实现密码的有力保护!
在做用户登录界面的时候,往往会用到密码框,则其中的一些功能也要求与普通的输入框不同,包括不能全选、复制、粘贴、无右键菜单等、设置密码不可见等功能!
#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之密码框不可全选、复制、粘贴无右键菜单等
- Qt之密码框不可全选、复制、粘贴无右键菜单等
- Qt之密码框不可选中、复制、粘贴、无右键菜单等
- Qt之密码框不可选中、复制、粘贴、无右键菜单等
- 【Qt】Qt之密码框不可选中、复制、粘贴、无右键菜单等【转】
- Qt 密码框不可选中、复制、粘贴、无右键菜单等
- richTextBox的右键菜单“复制、粘贴、剪切、全选、删除、撤销、重做”
- js 右键菜单、禁止剪切、复制、粘贴的文本框代码
- VB实现屏蔽文本框右键菜单的复制、粘贴等功能的方法
- 从右键菜单里粘贴复制的工资到数据库里
- 为RichTextBox添加快捷功能菜单(复制,粘贴,全选等)
- JS禁用浏览器退格键、禁止右键、禁止全选、复制、粘贴
- c#+Winform实现自定义的“复制、粘贴”右键快捷菜单,多个控件共享使用一个右键菜单
- C# WinForm登陆窗体 密码输入框屏蔽右键、复制、粘贴
- Java右键菜单实现文本组件内容的的复制、粘贴、剪切功能
- (转载)delphi实例TDBGrid用右键菜单复制行粘贴行
- c#+Winform实现自定义的“复制、粘贴”右键快捷菜单,多个控件共享使用一个右键菜单。
- JS禁止鼠标右键、禁止全选、复制、粘贴的方法(所谓的防盗功能)
- 登录框,密码和确认密码的输入框中不能复制,粘贴,剪切,和右键。 禁打印。禁下载。
- android 长按弹出菜单,复制,粘贴,全选