2016-10-24 7 views
1

私はPyQt5に私のPyQt4アプリケーションを移植したいと思って、微妙な問題に遭遇しました。カスタムQThreadオブジェクト(workerが)私は(典型的なコード)のようなPyQt4で行われている、まだ接続いくつかの特定の信号を持っている場合、私がチェックし、いくつかの時点でPyQt5レシーバ

if worker.receivers(PyQt4.QtCore.SIGNAL("signalFinished(QString,QString)")): 
    do_stuff() 

を行うにはどのような方法がありますこれはPyQt5でですか? PyQt5 referenceはそれほど役に立ちません。私は常にC++ referenceに騙されますが、それはまだ同じ動作です。

もちろん、if文の代わりにtry-except-passブロックを使用するより「pythonic」解決策がありますが、私はまだ 'PyQt信号'の方法について疑問を抱いています。新しいスタイルの構文で

+0

それは多分それではないのですが、あなたは新しいスタイルの信号としてみてくださいましたか?この表記法は推奨されなくなりました。 – PyNico

答えて

2

は、同等のコードは単純に次のようになります。

if worker.receivers(worker.signalFinished[str, str])): 
    do_stuff() 
+0

うわー、死んで本当に単純です。どうもありがとう! (私はこれを自分で考えなかったのは残念です...) – tku137