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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Нестндартный выход из диалога  (Прочитано 4167 раз)
Day
Частый гость
***
Offline Offline

Сообщений: 290


Просмотр профиля
« : Март 06, 2013, 23:20 »

Создаю диалог, на котором помимо стандартных кнопок Ok, Cancel есть еще другие. Хочется, чтобы при нажатии на них d->exec() возвращал какие-то специфические значения. Нашел такое решение. Сделал производный класс
Код:
class MyDialog : public QDialog {
 ...
public slot:
  void myslot() { done(3); }
};
При создании кнопок
Код:
connect(button3, SIGNAL(clicked()), d, SLOT(myslot()));
Все работает, но хочется попроще.
Вот если бы была допустима такая конструкция
Код:
connec(button3, SIGNAL(clicked()), d, SLOT(done(3)));
тогда не надо было б порождать новый класс из-за одного слотика.
Можно ли в данном случае обойтись без порождения?
« Последнее редактирование: Март 06, 2013, 23:22 от Day » Записан
Day
Частый гость
***
Offline Offline

Сообщений: 290


Просмотр профиля
« Ответ #1 : Март 06, 2013, 23:25 »

Попутно вопрос об оформлении кода. Работают ли здесь теги [CPPQT], [CPP], [C] ? или следует ограничиться code ?
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4727



Просмотр профиля WWW
« Ответ #2 : Март 07, 2013, 01:55 »

такая конструкция делается через QSignalMapper

для красивого оформления кода используй code=cpp
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
Hellraiser
Бывалый
*****
Offline Offline

Сообщений: 451


Просмотр профиля
« Ответ #3 : Март 07, 2013, 07:37 »

Можно попробовать через QButtonGroup. Для задания нужного кода используется setId
Записан
Hellraiser
Бывалый
*****
Offline Offline

Сообщений: 451


Просмотр профиля
« Ответ #4 : Март 07, 2013, 07:41 »

Если будет необходимость добавлять QButtonGroup сразу в дизайнере, то ПКМ на кнопке - назначить группу кнопок.
Записан
Day
Частый гость
***
Offline Offline

Сообщений: 290


Просмотр профиля
« Ответ #5 : Март 07, 2013, 09:29 »

такая конструкция делается через QSignalMapper
Да... Вещь полезная, но в данном случае то, что уже сделано, выглядит проще. А главное - уже сделано и работает.

Цитировать
для красивого оформления кода используй code=cpp
Спасибо.
Можно попробовать через QButtonGroup. Для задания нужного кода используется setId
Спасибо. Мотаю на ус для будущих применений Улыбающийся
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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