【发布时间】:2012-10-02 16:34:21
【问题描述】:
我有两节课;一个用于我的窗口,一个用于我的控制对象
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 类型进行连接。
不管怎样,信号在窗口类中也可以正常连接。
我尝试为 _scanOre 提供 @QtCore.pyqtSlot(str, name='scanGo') 并将名称参数添加到信号创建中。我不确定我在这里缺少什么。
【问题讨论】: