main.py で
def setNumberFormat2(self):
dialog = numberformatdlg2.NumberFormatDlg(self.format, self)
self.connect(dialog, SIGNAL("changed"), self.refreshTable)
dialog.show()
とでform.py
:
class NumberFormatDlg(QDialog):
def __init__(self, format, parent=None):
.....
self.connect(buttonBox.button(QDialogButtonBox.Apply),
SIGNAL("clicked()"), self.apply)
self.connect(buttonBox, SIGNAL("rejected()"),
self, SLOT("reject()"))
self.setWindowTitle("Set Number Format (Modeless)")
def apply(self):
....
self.emit(SIGNAL("changed"))
著者によると:
最後に、changed シグナルを送信します。これまで見てきたように、これにより呼び出し元の refreshTable() メソッドが呼び出され、呼び出し元の書式辞書を使用してテーブル内のすべての数値が書式設定されます。
エミットするとき、適用したい SLOT をどのように知るのでしょうか? 基本的に、私たちが持っている場合
self.connect(dialog, SIGNAL("changed"), self.refreshTable)
self.connect(dialog, SIGNAL("changed"), self.anotherMethod)
self.emit(...)
適用しているスロットをどのように知るのですか? または、情報が不足していますか?
ありがとう。