Russian Qt Forum
Июня 14, 2025, 19:18 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: [РЕШЕНО] QDialog и кнопка Ignore  (Прочитано 3115 раз)
vizir1989
Гость
« : Июня 08, 2012, 15:35 »

Доброго вечера.
У меня есть диалоговое окно с QSpinBox и QDialogButtonBox. QDialogButtonBox состоит из 3-х кнопок: QDialogButtonBox::Ok, QDialogButtonBox::Cancel и QDialogButtonBox::Ignore.
В основном окне этот диалог вызывается, как поймать нажатие кнопки Ignore, хотелось бы что-нибудь в стиле
Код:
if (dialog.exec() == QDialog::Rejected)
{
...
}
Это возможно?
« Последнее редактирование: Июня 09, 2012, 13:54 от vizir1989 » Записан
Kurles
Бывалый
*****
Offline Offline

Сообщений: 480



Просмотр профиля
« Ответ #1 : Июня 08, 2012, 17:11 »

Доброго вечера.
У меня есть диалоговое окно с QSpinBox и QDialogButtonBox. QDialogButtonBox состоит из 3-х кнопок: QDialogButtonBox::Ok, QDialogButtonBox::Cancel и QDialogButtonBox::Ignore.
В основном окне этот диалог вызывается, как поймать нажатие кнопки Ignore, хотелось бы что-нибудь в стиле
Код:
if (dialog.exec() == QDialog::Rejected)
{
...
}
Это возможно?
Код
C++ (Qt)
void QDialog::done ( int r ) [virtual slot]
Не?
Записан

Код
C++ (Qt)
while(!asleep()) sheep++;
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4747



Просмотр профиля WWW
« Ответ #2 : Июня 08, 2012, 17:18 »

Цитировать
An "Ignore" button defined with the AcceptRole.
так что нажатие на эту кнопку испускает сигнал accepted, который можно поймать в диалоге и либо соединить со стандартным слотом accept(), либо вызвать в своём слоте done() с нужным числом
Код
C++ (Qt)
void QDialog::done ( int r ) [virtual slot]
Не?
done() вызывается внутри диалога обычно, а вызывающий код вызывает exec() (ну или show())
« Последнее редактирование: Июня 08, 2012, 17:19 от kambala » Записан

Изучением 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
vizir1989
Гость
« Ответ #3 : Июня 09, 2012, 13:54 »

Цитировать
An "Ignore" button defined with the AcceptRole.
так что нажатие на эту кнопку испускает сигнал accepted, который можно поймать в диалоге и либо соединить со стандартным слотом accept(), либо вызвать в своём слоте done() с нужным числом
Код
C++ (Qt)
void QDialog::done ( int r ) [virtual slot]
Не?
done() вызывается внутри диалога обычно, а вызывающий код вызывает exec() (ну или show())

Спасибо, проблема решена.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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