Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: vizir1989 от Июня 08, 2012, 15:35



Название: [РЕШЕНО] QDialog и кнопка Ignore
Отправлено: vizir1989 от Июня 08, 2012, 15:35
Доброго вечера.
У меня есть диалоговое окно с QSpinBox и QDialogButtonBox. QDialogButtonBox состоит из 3-х кнопок: QDialogButtonBox::Ok, QDialogButtonBox::Cancel и QDialogButtonBox::Ignore.
В основном окне этот диалог вызывается, как поймать нажатие кнопки Ignore, хотелось бы что-нибудь в стиле
Код:
if (dialog.exec() == QDialog::Rejected)
{
...
}
Это возможно?


Название: Re: QDialog и кнопка Ignore
Отправлено: Kurles от Июня 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]
Не?


Название: Re: QDialog и кнопка Ignore
Отправлено: kambala от Июня 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())


Название: Re: QDialog и кнопка Ignore
Отправлено: vizir1989 от Июня 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())

Спасибо, проблема решена.