Название: Синхронный вызов show без возврата управления Отправлено: Lagovas от Август 14, 2012, 23:03 Как можно вызвать show или его аналог какой то, что бы возврат управления был после закрытия окна?
Код: widget.show(); Название: Re: Синхронный вызов show без возврата управления Отправлено: LisandreL от Август 14, 2012, 23:26 У наследников QDialog есть exec().
Название: Re: Синхронный вызов show без возврата управления Отправлено: Lagovas от Август 14, 2012, 23:30 Т.е. достаточно заменить наследование с qwidget на qdialog и все ок станет? Странно что не у каждого виджета такое есть, раз они по умолчанию могут окном быть, ибо не всегда хватит повесить на destroyed слот, ибо это для всех закрытий окна будет действовать, а бывает нужно отработать закрытие в конкретном контексте...
Название: Re: Синхронный вызов show без возврата управления Отправлено: QtCoder от Август 15, 2012, 06:40 Как можно вызвать show или его аналог какой то, что бы возврат управления был после закрытия окна? Код: widget.show(); widget.setAttribute(Qt::WA_DeleteOnClose); QEventLoop loop; connect(&widget, SIGNAL(destroyed(QObject *), &loop, SLOT(quit())); widget.show(); loop.exec(); doSomething(); А вообще надо юзать qdialog Название: Re: Синхронный вызов show без возврата управления Отправлено: Lagovas от Август 15, 2012, 09:46 Спасибо. Сделал себе QDialog, но на будущее знать обходные пути не помешает.
|