搜了很多资料,然后总结一下禁用复制、剪切、粘贴功能,关闭右键点击菜单如何实现?
具体实现如下:
PasswordLineEdit::PasswordLineEdit(QWidget *parent)
: QLineEdit(parent)
{
ui->lineEdit_passwd->installEventFilter(this);
}
//屏蔽输入框全选、复制、粘贴、剪切功能
void
PasswordLineEdit::keyPressEvent(QKeyEvent *
event
)
{
if
(
event
->matches(QKeySequence::SelectAll)
||
event
->matches(QKeySequence::Copy)
||
event->matches(QKeySequence::Paste) || event
->matches(QKeySequence::Cut))
{
return ture
;
}
QLineEdit::keyPressEvent(
event
);
}
//在QKeySequence中有很多和键盘控制有关的设置,可以根据自己需求,自己进行更改。可以参考
https://blog.****.net/ljhandlwt/article/details/52354139;配置QKeySequence。
下面屏蔽右键出现菜单的步骤:
直接将contextMenuPolicy设置一下就可以了。找了半天资料,终于实现了,下面总结一下:
在构造函数中使用installEventFilter函数安装过滤器,在下面实现eventFilter过滤方法,处理复制、剪切、粘贴的功能,对于关闭右键菜单的功能,在ui中设置一下就行了。