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

说明

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

实现方法

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

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

 1 class MyQLineEdite(QLineEdit):
 2     
 3     def __init__(self):
 4         super(MyQLineEdite, self).__init__()
 5 
 6     def mouseMoveEvent(self, mouse_event):
 7         '''
 8         重写鼠标的左键右键选中
 9         :param mouse_event: 
10         :return: 
11         '''
12         if mouse_event.buttons == Qt.LeftButton or  mouse_event.buttons() == Qt.RightButton:
13             return
14         
15     def keyPressEvent(self, key_event):
16         '''
17         重写键盘的全选,复制粘贴
18         :param key_event: 
19         :return: 
20         '''
21         if key_event == QKeySequence.SelectAll:  #禁止全选
22             return 
23         if key_event == QKeySequence.Paste:  #禁止粘贴
24             return 
25         if key_event == QKeySequence.Copy:  #禁止复制
26             return 
原文地址:https://www.cnblogs.com/jyroy/p/9624157.html