Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: NT_AUTHORITY от Август 20, 2009, 14:39



Название: QDialogButtonBox
Отправлено: NT_AUTHORITY от Август 20, 2009, 14:39
Народ, кто-нито работал с QDialogButtonBox? Никак не пойму как в событии OnClick узнать, какая кнопка была нажата. ((


Название: Re: QDialogButtonBox
Отправлено: ecspertiza от Август 20, 2009, 14:51
Сразу скажу я сам не работал с ним ,но полистав ассистент могу предположить что есть у него сигнал void clicked ( QAbstractButton * button ) в котором button ссылка на тот объект который был нажат :)


Название: Re: QDialogButtonBox
Отправлено: NT_AUTHORITY от Август 20, 2009, 14:55
Ну вот в том то и дело как эту ссылку использовать?


Название: Re: QDialogButtonBox
Отправлено: Пантер от Август 20, 2009, 16:32
У QDialogButtonBox есть сигналы accepted и rejected. Их не хватает?
А любую кнопку:
Код
C++ (Qt)
connect(buttonBox, SIGNAL(clicked (QAbstractButton*)), this, SLOT(buttonsClicked(QAbstractButton*)));
................
void buttonsClicked(QAbstractButton *button)
{
   if(button == QDialogButtonBox::Apply)
...........................
}


Название: Re: QDialogButtonBox
Отправлено: pastor от Август 20, 2009, 16:33
Ну вот в том то и дело как эту ссылку использовать?

Ну а дальше в помощь QDialogButtonBox::standardButton(....)


Название: Re: QDialogButtonBox
Отправлено: pastor от Август 20, 2009, 16:35
2 panter_dsd: А как можно указатель на кнопку сравнивать со значением из перечисления QDialogButtonBox::StandardButton?


Название: Re: QDialogButtonBox
Отправлено: Пантер от Август 20, 2009, 16:39
2 pastor: писал без ассистента по памяти, немного забыл. Спасибо за поправку.
Нужно:
Код
C++ (Qt)
if(buttonBox->standardButton(button) == QDialogButtonBox::Apply)


Название: Re: QDialogButtonBox
Отправлено: NT_AUTHORITY от Август 20, 2009, 20:25
Спасибо за ответы, просто на QT 3-ий день программирую.