pyqt5(SIGNAL)拖放

我试图让pyqt5中的listwidget拖放(带有图像或文件).我可以在pyqt4中找到很多示例,但是其中一部分在新版本中不起作用:

在“ dropevent”中:

self.emit(QtCore.SIGNAL("dropped"), links)

并在MainForm中:

self.connect(self.view, QtCore.SIGNAL("dropped"), self.pictureDropped)

我读了很多文章,但似乎找不到答案如何用pyqt5写下.有人可以帮我吗?

链接到整个示例:
PyQT4: Drag and drop files into QListWidget

解决方法:

简单.

>信号必须优先
>插槽作为参数.
>您必须在信号创建后才进行连接
>必须在建立连接后发射.

这里我们举一个小例子:

self.signalOwner.mySignal.connect(self.slotFunction)

在您的示例中,假设并考虑该视图拥有信号,而pictureDropped是您的slot函数,因此:

self.view.dropped.connect(self.pictureDropped)

请记住,您的信号必须发出某种类型或根本不发出任何信号,并且@pyqtSlot函数必须接收相同的类型,并且该函数接收与信号发出的数量相同的参数.

我不久前发表了一篇有关图像拖放的文章,很难弄清楚如何接受事件以及类的行为,它比仅信号要深一些,所以如果需要的话,这里是POST: d

上一篇:代码质量打油诗 摘自(迷途@书童 )


下一篇:关于text-indent