Приложение PyQt5 Python как сделать обработчик кнопок если они создаются динамически
Пишу приложение на PyQt5 Python у меня в приложении кнопки создаются динамически, то есть может их быть от одной и до трех, как мне сделать обработчик для них если они выполняют одну функцию?
Ответы (2 шт):
Что означает "обработчик кнопок" в Вашем случае? Если кнопка создаётся, а это соответственно объект с id, именем и прочим. Это можно положить в список (например) и оттуда когда надо брать. А то что они выполняют одну функцию это не важно для обращения к ним.
Я в своей задаче сделал так: создал объект на форме, а его имя и сам объект записал в словарь.
check_box = PyQt5.QtWidgets.QCheckBox(self)
check_box.setObjectName(check_box_name)
check_box.setText(f'{check_box_name}')
check_box.setGeometry(x, y, w, h)
check_box.clicked.connect(self.change_status_checkbox)
dict_all_units[check_box_name] = check_box
Но тут нужно понимать, что словарь должен быть виден там, где к нему обращаются. Если его сделать глобальным (это не красиво), то он буде виден отовсюду.