LINUX.ORG.RU

игнорирование события не работает:

void CDbEditorDialog::closeEvent(QCloseEvent *e)
{
    if (m_isSaving) {
        m_isSaving = false;
        e->ignore();
    } else {
        QDialog::closeEvent(e);
    }
}
bvn13 ★★★★★
() автор топика
Ответ на: комментарий от unC0Rr

Да мне для кнопки Save только нужно.

Заметил еще, что void CDbEditorDialog::closeEvent(QCloseEvent *e) вызывается только если я крестиком закрываю диалог. Если через buttonbox, то не вызывается.

bvn13 ★★★★★
() автор топика
Ответ на: комментарий от bvn13

Ну отсоедини QDialogButtonBox::accepted() от CDbEditorDialog::accept() и присоедини к своему слоту, в котором проверяй, нужно ли тебе реально закрывать, вызывай accept() по необходимости. Или я что-то не так понял в твоей задаче?

unC0Rr ★★★★★
()
Ответ на: комментарий от x905

:) ничего. Хочу понять, можно ли это сделать buttonbox-ом. Ведь его для чего-то придумали.

bvn13 ★★★★★
() автор топика
Ответ на: комментарий от bvn13

В смысле, как? Просто сделай в методе все, что тебе надо, и не закрывай окно диалога...

solovey ★★
()
Ответ на: комментарий от grondek

Да, все верно. Спасибо всем откликнувшимся!

bvn13 ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.