Название: Не закрывается форма Отправлено: jatsuk от Января 31, 2012, 09:33 Есть две формы - основная (MainWindow) и форма проверки (Dialog)
В основной вызывается форма проверки Dialog form; form.exec(); В Dialog есть кнопка по которой происходит блалалалала и в конце Dialog::close(); - должна закрыться . Если запустить программу, то из главной формы сразу вызывается Dialog. Там В РУЧНУЮ нажимаю на кнопку, .....Dialog::close(); - нормально закрылась Dialog и снова появилась MainWindow. Но нужно чтобы кнопка нажималась сама. Сделал в начале Dialog вызов слота с этой кнопкой activon2();. Вроде должно произойти тоже самое.... но не закрывается форма Dialog, но если после этого нажать вручную, то норм ! Запускал через отладку - в слот заходит, всё выполняет, а на Dialog::close(); не обращает внимания... как будто его нет. В чем проблема может быть ? мои варианты может задержку какую нибудь поставить, т.к. происходит всё сразу.... но мне кажется не поможен.... отловить closeevent думаю нет смысла, он наверно и не будет вызываться , т.к. ничнго не закрылось Название: Re: Не закрывается форма Отправлено: Пантер от Января 31, 2012, 09:39 Цитировать Сделал в начале Dialog вызов слота с этой кнопкой activon2();. Это где?Название: Re: Не закрывается форма Отправлено: jatsuk от Января 31, 2012, 09:41 Код: Dialog::Dialog(QWidget *parent) : Название: Re: Не закрывается форма Отправлено: Пантер от Января 31, 2012, 09:44 Нельзя в конструкторе. Сделай через QTimer::singleShot.
Название: Re: Не закрывается форма Отправлено: jatsuk от Января 31, 2012, 09:45 Нельзя в конструкторе. Сделай через QTimer::singleShot. Что нельзя ?Название: Re: Не закрывается форма Отправлено: Пантер от Января 31, 2012, 09:47 Нельзя в конструкторе. Сделай через QTimer::singleShot. Что нельзя ?Название: Re: Не закрывается форма Отправлено: jatsuk от Января 31, 2012, 09:51 Спасибо большое, помогло ;D а я сомневался в QTimer
Всё работает QTimer *timer = new QTimer(this); connect(timer, SIGNAL(timeout()), this, SLOT(activon2())); timer->start(1000); Название: Re: Не закрывается форма Отправлено: Пантер от Января 31, 2012, 09:52 Зачем?
Код
Название: Re: Не закрывается форма Отправлено: jatsuk от Января 31, 2012, 09:57 Сделал так...
QTimer::singleShot (0, this, SLOT (activon2())); а в чем разница то ?) Название: Re: Не закрывается форма Отправлено: Пантер от Января 31, 2012, 09:59 1. Одна строчка вместо трех.
2. Нет необходимости создавать объект. Название: Re: Не закрывается форма Отправлено: jatsuk от Января 31, 2012, 10:01 Спасибо.
QTimer::singleShot (1000, this, SLOT (activon2())); поставил задержку 1000 милисекунд, т.к. окно при нуле промелькивает быстро и некрасиво :) |