PyQt5--TextDrag

发布时间:2019-03-12 23:20:58编辑:auto阅读(2044)

     1 # -*- coding:utf-8 -*-
     2 '''
     3 Created on Sep 21, 2018
     4 
     5 @author: SaShuangYiBing
     6 
     7 Comment: 
     8 '''
     9 import sys
    10 from PyQt5.QtWidgets import QApplication,QWidget,QPushButton,QLineEdit
    11 
    12 class Button(QPushButton):
    13     def __init__(self,title,parent):
    14         super().__init__(title,parent)
    15         self.setAcceptDrops(True)
    16         
    17     def dragEnterEvent(self,e):
    18         if e.mimeData().hasFormat('text/Plain'):
    19             e.accept()
    20         else:
    21             e.ignore()
    22     
    23     def dropEvent(self,e):
    24         self.setText(e.mimeData().text())
    25 
    26 class New_test(QWidget):
    27     def __init__(self):
    28         super().__init__()
    29         self.initUI()
    30         
    31     def initUI(self):
    32         edit = QLineEdit('',self)
    33         edit.setDragEnabled(True)
    34         edit.move(30,65)
    35         
    36         button = Button('Button',self)
    37         button.move(190,65)
    38         
    39         self.setWindowTitle('Simple drag & drop')
    40         self.setGeometry(300,300,300,150)
    41         self.show()
    42         
    43 if __name__ == '__main__':
    44     app = QApplication(sys.argv)
    45     ex = New_test()
    46     sys.exit(app.exec_())
    47         

     

     

    在文本框中输入的内容,随意选中其中部分字符可进行拖拽(类似复制)

     

关键字