我想dropEvent
在QVideoWidget
. 我知道播放部分,我的问题是 QVideoWidget 没有像其他小部件一样接收 dropEvent 。我想知道这是一个错误,或者我错过了一些东西。
一切正常,所有三个事件都被调用:
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())
但是当我使用与 a 相同的代码时QVideoWidget
,dropEvent
不会被调用:
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())
PS:我不知道为什么,但在dropEvent
标题栏上的最后一个代码工作!如果需要,我可以上传 GIF。