1 # -*- coding:utf-8 -*- 2 ''' 3 Created on Sep 21, 2018 4 5 @author: SaShuangYiBing 6 7 Comment: 8 ''' 9 import sys10 from PyQt5.QtWidgets import QApplication,QWidget,QPushButton,QLineEdit11 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
在文本框中输入的内容,随意选中其中部分字符可进行拖拽(类似复制)