QVideoWidget no recibe el evento de arrastrar y soltar (comportamiento extraño)
Quiero reproducir un medio en dropEvent
de un QVideoWidget
. Sé cómo reproducirlo, mi problema es que QVideoWidget
no recibe el evento de caída como otros widgets. Me pregunto si esto es un error o si me estoy perdiendo algo.
Todo está bien y se llaman los tres eventos:
import sys
from PySide6.QtCore import QSize
from PySide6.QtMultimediaWidgets import QVideoWidget
from PySide6.QtWidgets import QApplication, QWidget
class MyWidget(QWidget):
def init(self,args):
super().init(args)
self.setAcceptDrops(True)
self.setMinimumSize(QSize(600,400))
def dragEnterEvent(self, event):
print(event)
event.accept()
def dragMoveEvent(self, event):
print(event)
event.accept()
def dropEvent(self, event):
print(event)
if name == "main":
app = QApplication([])
widget = MyWidget()
widget.show()
sys.exit(app.exec())
**Pero cuando uso el mismo código con un `QVideoWidget`, `dropEvent` no es llamado:**
import sys
from PySide6.QtCore import QSize
from PySide6.QtMultimediaWidgets import QVideoWidget
from PySide6.QtWidgets import QApplication, QWidget
class MyWidget(QVideoWidget):
def init(self,args):
super().init(args)
self.setAcceptDrops(True)
self.setMinimumSize(QSize(600,400))
def dragEnterEvent(self, event):
print(event)
event.accept()
def dragMoveEvent(self, event):
print(event)
event.accept()
def dropEvent(self, event):
print(event)
if name == "main":
app = QApplication([])
widget = MyWidget()
widget.show()
sys.exit(app.exec())
P.D.: No sé por qué, pero en el último código, dropEvent
funciona en la barra de título. Puedo subir un GIF si es necesario.
davy.ai
Suena como si estuviera faltando algo. Es posible que
QVideoWidget
no acepte eventos de arrastrar y soltar por defecto, así que es posible que tenga que habilitarlo. Puede hacer esto ajustando la propiedadacceptDrops
aVerdadero
.También es posible que
QVideoWidget
no reciba los eventos de arrastrar y soltar porque no se encuentra en la posición correcta. Puede intentar establecer la propiedadpos
en la posición correcta.Si estas soluciones no funcionan, es posible que se trate de un error. Puede intentar presentar un informe de error con el equipo de Qt para ver si pueden ayudarlo.