class OvervIEwWindow(QMainWindow): def __init__(self,projectClusters,users,contributorDict,userLastRevPerProj): QMainWindow.__init__(self) # Code.... def createuserNodes(self): userNodes = {} nodeSpread = 50 yPos = -400 nodeSpan = nodeSpread + 100 wIDth = (len(self.usersFilt) - 1) * nodeSpan xPos = 0 - (wIDth / 2) for user in self.usersFilt: newItem = NodeItem(xPos,yPos,self.nodeDiameter,user,True) newItem.nodeDoubleClicked.connect(self.dc) userNodes[user] = newItem self.graphiCSScene.addItem(newItem) xPos += nodeSpan return userNodes @pyqtSlot(str) def dc(self,text): print(text)class NodeItem(QGraphicsItem): nodeDoubleClicked = pyqtSignal(str) def __init__(self,xPos,diameter,text,isUserNode): super(NodeItem,self).__init__() # Code... def mouseDoubleClickEvent(self,event): self.nodeDoubleClicked.emit(self.texts)
当试图运行它时,它给我这个错误:
line 84,in createuserNodesnewItem.nodeDoubleClicked[str].connect(self.dc)TypeError: NodeItem cannot be converted to PyQt5.QtCore.QObject in this context
我不知道这意味着什么或如何解决它.
解决方法 QGraphicsItem不从QObject继承,因此无法从QGraphicsItem的实例发出信号.您可以通过继承QGraphicsObject而不是QGraphicsItem: http://doc.qt.io/qt-5/qgraphicsobject.html来解决此问题. 总结以上是内存溢出为你收集整理的python – PyQt5连接不起作用:在此上下文中无法将项转换为PyQt5.QtCore.QObject全部内容,希望文章能够帮你解决python – PyQt5连接不起作用:在此上下文中无法将项转换为PyQt5.QtCore.QObject所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)