PyQt5--TextDrag
程序员文章站
2023-11-30 08:57:10
在文本框中输入的内容,随意选中其中部分字符可进行拖拽(类似复制) ......
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
在文本框中输入的内容,随意选中其中部分字符可进行拖拽(类似复制)