каждой из них вызывается один метод, разница лишь в том, что он имеет разные параметры в зависимости от кнопки. вопрос: как все это можно красиво реализовать? красиво выглядело, читаемо было
В простейшем случае: генерируем новую кнопку, берем параметры для этой кнопки из заранее созданного списка/словаря или иной структуры данных. Далее генерируем форму вида (кнопка с удобным именем)QButton+ QLabel (указываем в нем текст с параметрами). Пары кнопок и значений можно закинуть на лейаут типа сетка с двумя колонками... Но имхо лучше ниспадающий список QComboBox и одна кнопка (QButton). В список пихаем все имена параметров. Далее логика простая: юзер жмакает по кнопе, в слоте клика, мы по индексу из ниспадающего списка выбираем нужные параметры для запуска некой функции которая запускается с разными параметрами
буду первый вариант делать, еще вопрос, может быть глупый: как проверить нажатие вообще любой кнопки и получить ее название?
Заюзать класс QButtonGroup - при создании кнопки добавлять ее в группу. У данного класса есть сигнал что на кнопку нажали. Сигнал нажатия передает указатель на кнопку на которую кликал юзер
Если вдруг не получится, то можно поступить иначе. Объект главного окна (например, QMainWindow) хранит указатели на виджеты которые на нем расположены. Прокрутить циклом по children для окна QMainWindow и провести сравнение класса child на соответствие классу кнопки (QPushButton) . Итерирование по кнопкам на виджете описана по ссылке https://evileg.com/ru/post/77/
Обсуждают сегодня