【发布时间】:2013-10-22 08:26:46
【问题描述】:
讨论信号和槽的PySide docs 给出了str 和int 类型的信号示例。如果您希望信号是元组中的一对整数,您会怎么做?
【问题讨论】:
标签: qt pyqt pyside signals-slots
讨论信号和槽的PySide docs 给出了str 和int 类型的信号示例。如果您希望信号是元组中的一对整数,您会怎么做?
【问题讨论】:
标签: qt pyqt pyside signals-slots
您应该能够使用object 来传递一个元组。
例如:
signal = Signal(object)
signal.connect(...)
signal.emit(tuple)
【讨论】:
Signal(tuple)。在不了解细节的情况下:对此的需求来自 PySide 和 PyQt 包装底层 C++ 信号这一事实。 type 参数还允许实现一个具有多个签名的信号,例如qt-project.org/doc/qt-4.8/qcombobox.html#activated。
TypeError: C++ type 'tuple' is not supported as a slot argument type。似乎唯一的解决方案(至少在 PyQt 中)是使用QtCore.SIGNAL("signal_name(PyQt_PyObject)")。
pyqtSignal(tuple) 和 pyqtSlot(tuple) 就好了。