我正在尝试在 PyQt 中设置信号槽排列,其中信号传输大量信息。我想QObject
通过将要传输的各种信息设置为QObject
. 从理论上讲,这应该可行 - 有一个QSignalMapper.setMapping()
重载,它接受一个发送者和一个QObject
作为参数。
这是简化的代码:
self.mapper = QtCore.QSignalMapper()
self.timeline.finished.connect(self.mapper.map)
carrier = QtCore.QObject()
carrier.contents = (item1, item2)
self.mapper.setMapping(self.timeline, carrier)
self.portalMapper.mapped.connect(self.report)
def report(self, carrierObject):
print 'Triggered'
不幸的是,它不起作用。setMapping
我已经通过消除过程将问题追溯到功能。
如果我QObject
用int
. 它也与我添加到的属性没有任何关系QObject
- 使用全新的开箱即用QObject
会导致同样的问题。
函数的这种特定重载似乎在这里发生了一些事情setMapping
。关于这里的问题有什么想法吗?