コントローラーとして機能する QObject があります。この QObject には QPushButton への参照があります。この QOjbect には、QPushButton のクリック イベントで起動されるように設定されたメソッドがあります。
元:
class MyController(QObject):
def __init__(self, parent=None):
super(MyController, self).__init__(parent)
self.some_ref = ....
self.button = self.some_ref.button (returns QPushButton)
self.button.clicked.connect(self.button_clicked)
# @Slot(type)
def button_clicked(self):
print 'button clicked: ', self.sender()
# print 'button clicked (no sender req.)
ここでは、button_clicked は発生しません。@Slot()
、@Slot(QObject)
、@Slot(type)
、で装飾しようとしましたが@Slot(str)
、@Slot(int)
それでもうまくいきません。
私は何を間違っていますか?
私がそれを使用すれば..clicked.connect(lambda: self.button_clicked)
、もちろん動作します。だから、これは型の不一致だと思いますが、@Slot(..)
装飾で修正すべきではありませんか?
ありがとうございました。