PyQt:自定义QLineEdit禁止选中复制粘贴

时间:2022-08-20 10:41:18

说明

  自定义的QLineEdit,当输入文本之后,禁止选中复制粘贴等操作

实现方法

  MyQLineEdit类继承了QLineEdit类,并重写QLineEdit类中的mouseMoveEvent方法和keyPressEvent方法

  这样还可以自己定义一些其他操作,比如ouseDoubleClickEvent 鼠标双击之类的

 class MyQLineEdite(QLineEdit):

     def __init__(self):
super(MyQLineEdite, self).__init__() def mouseMoveEvent(self, mouse_event):
'''
重写鼠标的左键右键选中
:param mouse_event:
:return:
'''
if mouse_event.buttons == Qt.LeftButton or mouse_event.buttons() == Qt.RightButton:
return def keyPressEvent(self, key_event):
'''
重写键盘的全选,复制粘贴
:param key_event:
:return:
'''
if key_event == QKeySequence.SelectAll: #禁止全选
return
if key_event == QKeySequence.Paste: #禁止粘贴
return
if key_event == QKeySequence.Copy: #禁止复制
return