QDialog :: setResult с пользовательскими возвращаемыми значениями

пожалуйста, обратите внимание: новичок qt / c ++ здесь

Цель:

У меня есть QDialog, из которого я хочу вернуть результат. Я знаю о QDialog::exec() в сочетании с setResult, приводит к использованию Accept() или же Reject(),

но как страница документации читает, разработчики предложить подавать в суд на коды возврата QDialog, подразумевая, что разные значения Можно использовать, хотя мне не повезло с этим.

enum ReturnResult{
success=0,
fail=1
error=2
warning=3
}

Как я могу использовать QDialog::setResult() функция для отправки пользовательских enum значения до (как видно выше),

в результате, возвращаясь к родительскому классу, если это невозможно, есть какие-либо предложения относительно того, как я могу решить эту проблему?

0

Решение

Ты можешь позвонить QDialog::done(int res) закрыть диалог с желаемым кодом результата, который затем будет возвращаемым значением QDialog::exec(),

1

Другие решения

Документация для result() говорится, что

Обычно возвращает код результата модального диалога, Accepted или же Rejected,

Если я правильно понимаю, это означает, что даже если текущая реализация позволяет передавать пользовательские значения, вы не можете быть уверены, что это не изменит и не нарушит ваш код в будущем.

В вашем случае просто добавьте к нему другой сигнал и подключитесь к нему, или добавьте свое собственное поле в диалог и используйте его для передачи данных.

0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector