Pyqt多个signlas,一个插槽

时间:2011-05-01 20:19:00

标签: pyqt signals-slots

我有16个QDoubleSpinBoxes,我想知道用户何时更改其中一个数据。 请注意,我不关心哪一个已被更改我只需知道其中一个已更改。

如果不编写16个不同的valueChanged()信号/插槽,我该怎么办?是否可以将“通用”valueChanged()连接到插槽?

非常感谢。

3 个答案:

答案 0 :(得分:0)

您可以将任意数量的信号连接到同一个插槽。 (但实际上你需要单独连接16个信号。)

答案 1 :(得分:0)

您可以将所有信号连接到同一个插槽,然后您可以使用QObject.sender方法获取发件人。或者你最好看看QSignalMapper类。

答案 2 :(得分:0)

您可以从QSpinBox中创建一个列表,并使用for循环:

for box in mySpinBoxes:
    box.valueChanged.connect(self.myFunction)