私は Qt と PySide が初めてで、PySide のシグナルとスロットの感覚をつかもうとしています。
PySide の Signals and Slotsのドキュメントに従いながら、クラスで使用するコードをいくつか転送しようとしました。
次のコードは、DoubleSpinBox を作成します。value_changed_func
値を変更するとき、関数との両方によって値が出力されることを期待していますが、呼び出されるvalue_changed_class
だけです。value_changed_func
from PySide import QtCore
from PySide import QtGui
@QtCore.Slot(float)
def value_changed_func(value):
print "Event func:"
print value
class MainController(QtCore.QObject):
def __init__(self, parent):
self._ui = QtGui.QDoubleSpinBox(parent)
self._ui.valueChanged.connect(self.value_changed_class)
self._ui.valueChanged.connect(value_changed_func)
@QtCore.Slot(float)
def value_changed_class(self, value):
print "Event class:"
print value
app = QtGui.QApplication([])
main_window = QtGui.QMainWindow()
MainController(main_window)
main_window.show()
app.exec_()
私は何を間違っていますか?どうすれvalue_changed_class
ば呼ばれるようになりますか?