Название: QDialogButtonBox как отловить нажатие извне Отправлено: qwyllum от Июнь 12, 2013, 11:36 Доброго времени суток! С-но, озадачился вопросом. Есть диалог, в котором у пользователя запрашиваются какие-то данные. После чего, из главной формы идет проверка:
Код: if (Mydlg.exec() == QDialog::Accepted)// если пользователь подтвердил редактирование Название: Re: QDialogButtonBox как отловить нажатие извне Отправлено: mutineer от Июнь 12, 2013, 11:42 Видимо родные кнопки связываются со слотами QDialog::accept () и QDialog::reject (), а при удалении эта связь исчезает
Название: Re: QDialogButtonBox как отловить нажатие извне Отправлено: kambala от Июнь 12, 2013, 11:57 void QDialogButtonBox::accepted () [signal]
void QDialogButtonBox::rejected () [signal] Название: Re: QDialogButtonBox как отловить нажатие извне Отправлено: Alex Custov от Июнь 12, 2013, 13:22 Конечно можно было бы забить, отменить последние действия и не парится, но мне стало интересно, как это все работает. Создал новый класс диалога с кнопками ОК-отмена, однако не нашел никакого кода, который бы что-то делал. Далее, удаляю ButtonBox и сразу же создаю новый с таким-же именем - больше нажатие на кнопку не работает. Когда ты создаёшь диалог с buttonbox, designer автоматом создаёт два соединения сигнал-слот, их ты можешь увидеть в редакторе сигналов-слотов. Когда ты удаляешь старый buttonbox и добавляешь свой, то соединения уже не будет, и его нужно добавить самому. |