【发布时间】:2012-07-16 01:15:49
【问题描述】:
我是 Qt 和 PySide 的新手,并尝试了解 PySide 中的信号和插槽。
在遵循Signals and Slots in PySide 的文档时,我尝试转移一些代码以在我的班级中使用。
以下代码创建一个 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 被调用?
【问题讨论】:
标签: python signals-slots pyside