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

来源:互联网 发布:中信证券怎么样 知乎 编辑:程序博客网 时间:2024/05/22 17:03
在做用户登录界面的时候,往往会用到密码框,则其中的一些功能也要求与普通的输入框不同,包括不能全选、复制、粘贴、无右键菜单等、设置密码不可见等功能!
 
#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 ;}


原创粉丝点击