Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: interv от Января 27, 2012, 07:54



Название: Qt::Popup и closeEvent QWidget
Отправлено: interv от Января 27, 2012, 07:54
Есть наследник QWidget и обработчик closeEvent:
Код
C
Widget::Widget(QWidget *parent) :
   QWidget(parent),
   ui(new Ui::Widget)
{
 ...
 setWindowFlags(Qt::Popup);
 ...
}
 
void Widget::closeEvent(QCloseEvent *e)
{
 showMinimized();
 e->accept();
}

фишка в том, что виджет закрывается а приложение нет...
Я так понял что это изза setWindowFlags(Qt::Popup), т.к. без него все норм...
Вопрос: как сделать форму без рамочки Windows'а и чтобы при закрытии формы приложение завершалось?

Так не катит:
Код
C
void Widget::closeEvent(QCloseEvent *e)
{
 showMinimized();
 qApp.deleteLater(); // Из-за этого ексепшен вылетает
 e->accept();
}


Название: Re: Qt::Popup и closeEvent QWidget
Отправлено: interv от Января 27, 2012, 08:07
Проблемма решена
Код
void Widget::closeEvent(QCloseEvent *e)
{
 showMinimized();
 e->accept();
 qApp->exit(0);
}


Название: Re: Qt::Popup и closeEvent QWidget
Отправлено: KrupaKarlo от Января 27, 2012, 12:55

у QApplication есть функция

void   setQuitOnLastWindowClosed ( bool quit )