I am working on PyQT5 and I have the following list.
self.config_cbs = [self.gui.cb_config_0, \
self.gui.cb_config_1, \
self.gui.cb_config_2, \
self.gui.cb_config_3, \
self.gui.cb_config_4, \
self.gui.cb_config_5, \
self.gui.cb_config_6, \
self.gui.cb_config_7, \
self.gui.cb_config_8, \
self.gui.cb_config_9, \
self.gui.cb_config_10, \
self.gui.cb_config_11]
I want to connect all checkboxes to the same function.
Does anyone know, why does this NOT work?
for i, cb in enumerate(self.config_cbs):
cb.stateChanged.connect(lambda: self.config_cb_state_changed(i))
But this does work:
self.gui.cb_config_0.stateChanged.connect(lambda: self.config_cb_state_changed(0))
self.gui.cb_config_1.stateChanged.connect(lambda: self.config_cb_state_changed(1))
self.gui.cb_config_2.stateChanged.connect(lambda: self.config_cb_state_changed(2))
...
Aren't these two equivalent?