Как установить QDialog не видимым в методе exec ()? - PullRequest
1 голос
/ 27 декабря 2011

Я запускаю QDialog с помощью метода exec (), теперь мне нравится, что он невидим, пока какой-то внутренний объект внутри него (Qwebkit) не закончит свою работу.
В конструкторе QDialog я установил его:

setVisible(false);
hide()

но когда я это сделаю, когда pAuthenticationDialogContainer будет указателем на QDialog:

if(pAuthenticationDialogContainer->exec() != QDialog::Accepted ) { ....}

я могу видеть QDialog в течение нескольких секунд (1-2 секунды)
как я могу сделать его полностью невидимым?
Спасибо

1 Ответ

0 голосов
/ 28 декабря 2011

Рассматривали ли вы возможность подключения кнопки, нажимаемой пользователем, с помощью close() или accept() слотов из QDialog?

connect(pAuthenticationDialogContainer->loginButton,
        SIGNAL(clicked()),
        pAuthinticationDialogContainer,
        SLOT(accept()));

, которые должны скрывать диалог.Вам нужно будет сделать этот код точным и протестировать его, но это должно сделать это автоматически для вас.Кроме того, я думаю, что было бы полезно опубликовать код для условия else условия.

...