0

信号が多くの情報を送信する PyQt で信号スロット配置を設定しようとしています。QObject送信したい各種情報を の属性として設定し、 をキャリアとして利用したいQObject。理論的には、これは機能するはずです。引数としてQSignalMapper.setMapping()送信者と a を取るオーバーロードがあります。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です。ここで問題が何であるかについてのアイデアはありますか?

4

1 に答える 1