我试图让我的代码与多个 listViews 一起工作,而不仅仅是一个,但我遇到了问题。
一份清单的工作代码:
Class Ui_MainWindow(QtGui.QMainWindow):
def itemDropped(self, links):
item = QtGui.QListWidgetItem(url, self.listView)
def setupUi(self, MainWindow):
self.connect(self.listView, QtCore.SIGNAL("dropped"), self.itemDropped)
Class TestListView(QtGui.QListWidget):
def dropEvent(self, event):
self.emit(QtCore.SIGNAL("dropped"), links)
到目前为止,我使用多个列表:
Class Ui_MainWindow(QtGui.QMainWindow):
def itemDropped(self, links, listName):
item = QtGui.QListWidgetItem(url, listName)
def setupUi(self, MainWindow):
self.connect(self.listView, QtCore.SIGNAL("dropped"), self.itemDropped(self.listView))
Class TestListView(QtGui.QListWidget):
def dropEvent(self, event):
self.emit(QtCore.SIGNAL("dropped"), links)
所以我收到“self.itemDropped(self.listView)”的错误,在研究了这里和其他网站后,我想出了这个:
self.connect(self.listView, QtCore.SIGNAL("dropped"),(lambda : self.itemDropped(self.listView)))
我以前从未使用过 lambda 函数,因为我对 python 还很陌生,但这确实解决了这个问题,当我打印 listName 时它会正确显示。现在的问题是链接没有从其他类正确发出,或者我没有正确接收它们。
所以我想pseduocode我需要这样的东西:
self.connect(self.listView, QtCore.SIGNAL("dropped"),(lambda : self.itemDropped(X, self.listView)))
问题是我如何获得 X,即来自 TestListView 类的链接?当没有变量传递给函数时,我不太明白我是如何只用 1 个列表接收它们的。
感谢你们提供的任何帮助,我非常感谢。如果您想要更大的图片,这里的 Ps 代码可能看起来很熟悉PyQT4:将文件拖放到 QListWidget