我有两个类;一个用于我的窗口,一个用于我的控制对象
class window(baseClass, testForm):
scanStarted = QtCore.pyqtSignal(str)
def __init__(self,parent=None):
super(window, self).__init__(parent)
self.setupUi(self)
#other window setup
self._scanner.pushScan.clicked.connect(self._scanClicked)
def _scanClicked(self):
self.scanStarted.emit( self._scanner.getTextData() )和我的控制对象
class vis(QtCore.QObject):
def __init__(self):
self._oreList = []
self._w = window()
self._w.scanStarted.connect(self._scanOre)
def _scanOre(self, rawText):
print "main ->", rawText当使用QtCore.QObject作为参考时,此信号不会连接到_scanOre。当我将引用切换到python 'object‘时,它会工作得很好。我一直在尝试弄清楚为什么它不能使用QtCore.QObject类型进行连接。
无论如何,信号在window类中也会连接得很好。
我尝试为_scanOre提供名称(str,@QtCore.pyqtSlot=‘scanGo’),并将名称参数添加到信号创建中。我不确定我错过了什么。
发布于 2012-10-03 00:42:02
您忘记了初始化QObject
class vis(QtCore.QObject):
def __init__(self, parent=None):
super(vis, self).__init__(parent) # you are missing this line
# also the `parent` arg
self._oreList = []
self._w = window.window()
self._w.scanStarted.connect(self._scanOre)
def _scanOre(self, rawText):
print "main ->", rawTexthttps://stackoverflow.com/questions/12694474
复制相似问题