PyQt5 Drag'n'Drop перетащить виджет
Я пишу программу StickerPanel на Python с использованием PyQt5
, и хочу чтоб можно было мышкой перетащить QPushButton
в другое окно (например Telegram) в виде файла WEBP
. Т. е. отправить объект. (есть похожая тема, но там получение объекта)
Как это можно сделать?
Ответы (1 шт):
Автор решения: MainPlay TG
→ Ссылка
Сам разобрался и сделал через QDrag
class StickerButton(QPushButton):
def mouseMoveEvent(self,event:QMouseEvent):
img:QImage=IMAGES["ID картинки из кеша"]
drag=QDrag(self)
mime=QMimeData()
mime.setImageData(img)
# pixmap=QPixmap() # Размер слишком большой, отключил это
# pixmap.convertFromImage(img)
drag.setMimeData(mime)
# drag.setPixmap(pixmap)
drag.exec(Qt.DropAction.CopyAction)