0
QtCore.QObject.connect(my_button, QtCore.SIGNAL('clicked()'), my_func)
とPyQtの2つのclicked()シグナルの違いは何ですか?
my_button.clicked.connect(my_func)
私は通常、最初のオプションを使用しますが、その後、私は2番目のものを発見し、それらの間の差であるかを知りたいです。
QtCore.QObject.connect(my_button, QtCore.SIGNAL('clicked()'), my_func)
とPyQtの2つのclicked()シグナルの違いは何ですか?
my_button.clicked.connect(my_func)
私は通常、最初のオプションを使用しますが、その後、私は2番目のものを発見し、それらの間の差であるかを知りたいです。
最初のオプションはold-style signal and slot syntaxです。これは廃止されました。 PyQt4でも引き続き使用できますが、PyQt5ではサポートされていません。 2番目のオプションはnew-style signal and slot syntaxで、これはPyQt5と最新バージョンのPyQt4(v4.5で導入されました)で使用できます。
PyQtはドキュメントが古いスタイルの構文の次のような欠点示しています:
- をそれは、信号の引数のC++種類の知識が必要です。
- シグナル名またはシグネチャを誤って入力すると、シグナルが に接続されているか放出されている場合でも、例外は発生しません。
- 冗長です。
- Pythonicではありません。