在GUI里,实现简单的拖放,本例子中使用QLineEdit和QPushButton,把一个文本从编辑框里拖到按扭上,更新按钮上的文字
code:
# -*- coding: utf-8 -*-
#Author :The Y Devil
import sys
from PyQt5.QtWidgets import *
class Button(QPushButton):
def __int__(self,title,parent):
super().__int__(title,parent)
self.setAcceptDrops(True)#激活自己的拖拽行为
def dragEnterEvent(self,e):#重构拖拽方法,
if e.mimeData().hasFormat('text/plain'):#设置接受拖拽的类型(plain text)
e.accept()
else:
e.ignore()
def dropEvent(self,e):
self.setText(e.mimeData().text())#更改按钮接受鼠标的释放事件的默认行为
class Example(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
edit=QLineEdit('',self)
edit.setDragEnabled(True)
edit.move(30,30)
button=QPushButton('Button',self)
button.move(200,30)
self.setGeometry(300, 300, 300, 300)
self.show()
app=QApplication(sys.argv)
window=Example()
#window=Example()
sys.