Спасибо за чтение.
Я хочу перетащить кнопку за пределы окна, однако она не работает.
Я думаю, проблема с QmimeData, однако я не знаю, как это сделать. .
Кто-нибудь знает об этом?
Спасибо.
class DragButton(QPushButton):
def mouseMoveEvent(self, e):
if e.buttons() == Qt.LeftButton:
drag = QDrag(self)
mime = QMimeData()
drag.setMimeData(mime)
pixmap = QPixmap(self.size())
self.render(pixmap)
drag.setPixmap(pixmap)
drag.setHotSpot(e.pos())
drag.exec(Qt.MoveAction)
def mousePressEvent(self, e):
if e.button() == Qt.LeftButton:
self.original_parent = self.parent()
super().mousePressEvent(e)
class MainWindow(QMainWindow):
def init(self, title, менеджер, button_text):
super().init()
self.setWindowTitle(title)
self.manager = менеджер
layout = QVBoxLayout()
button = DragButton(button_text)
layout.addWidget(button)
container = QWidget()
container.setLayout(layout)
self.setCentralWidget(container)
def closeEvent(self, event):
self.manager.window_closed(self)
super().closeEvent(event)
Подробнее здесь: https://stackoverflow.com/questions/786 ... -forbidden