Russian Qt Forum
Ноябрь 22, 2024, 11:45 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: QButtonBox: отличить разные виды accept-ов  (Прочитано 3920 раз)
DarkHobbit
Самовар
**
Offline Offline

Сообщений: 197


Просмотр профиля
« : Ноябрь 28, 2021, 10:53 »

Добрый день.
У меня есть диалог, а в нём QButtonBox с несколькими стандартным кнопками, в том числе Yes и YesToAll. Обе они приводят к результату QDialog::Accepted.
Есть какой-нибудь способ после exec() определить, какой кнопкой был завершён диалог? Или только в самом диалоге ловить сигнал clicked() от кнопки и какой-то временный флаг устанавливать, а по выходу из диалога его анализировать?
Записан

Мои проекты на Qt: DoubleContact, LInvert
Day
Частый гость
***
Offline Offline

Сообщений: 290


Просмотр профиля
« Ответ #1 : Ноябрь 28, 2021, 13:18 »

Я ловлю clicked()
По номеру (имени) кнопки устанавливая флаг. Его и возвращаю.
Диалог создаю не Дисигнером, а вручную. Кнопки  - в виде массива.
Слот на все кнопки один. В слоте анализирую имя (номер) кнопки
Записан
DarkHobbit
Самовар
**
Offline Offline

Сообщений: 197


Просмотр профиля
« Ответ #2 : Ноябрь 28, 2021, 16:06 »

Спасибо.
В общем, как и в прошлый раз - вещь вроде бы полезная, но недоделанная, приходится подпирать костылями.
Хотя в данном случае, оно, пожалуй, к лучшему, пока я искал ответ, я подумал и решил, что в моей задаче кнопка "Да для всех" слишком опасная, и лучше UI сделать вообще немножко по-другому. Так что всё к лучшему.
Записан

Мои проекты на Qt: DoubleContact, LInvert
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.048 секунд. Запросов: 23.