![]() |
|
|
![]()
|
|
| SABROG |
|
|||
![]() Hacker ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2481 Регистрация: 18.9.2006 Репутация: 81 Всего: 91 |
Я правильно понимаю, так программа не выходит ?
|
|||
|
||||
| Acer |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 652 Регистрация: 5.9.2007 Где: UA::DN Репутация: 15 Всего: 8 |
Угу. Так не работает.
|
|||
|
||||
| SABROG |
|
|||
![]() Hacker ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2481 Регистрация: 18.9.2006 Репутация: 81 Всего: 91 |
Проблема в том, что конструктор главного окна еще не создан и все exit и quit бесполезны. Вероятно есть 3 способа решения данной проблемы в конструкторе:
Это сообщение отредактировал(а) SABROG - 29.9.2008, 17:51 |
|||
|
||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 7 Всего: 250 |
Так добавь в главную форму метод например RunAuth (), в который перенеси из конструктора то что надо для идентефикации, а в main вначале создай форму, а потом вызови метод RunAuth (), при неудачи которого, можно будет закрыть окно как из main, так и из этого метода . ) P.S. и вобще удалять объект в своем конструкторе ("даже" если оно окно) очень некрасиво. Это сообщение отредактировал(а) mes - 29.9.2008, 18:01 |
|||
|
||||
| aspirin2003 |
|
||||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 111 Регистрация: 18.3.2007 Где: Саратов Репутация: нет Всего: нет |
mes, вроде неплохой способ, как мне показалось, после выполнения runAuth диалог закрывается, главная форма тоже, но приложение остается незавершенным и висит в памяти
Это сообщение отредактировал(а) aspirin2003 - 30.9.2008, 11:23 |
||||||
|
|||||||
| mes |
|
||||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 7 Всего: 250 |
ну а это что такое?
Вы опять столкнулись с проблемой, когда "удалять" хотите раньше, чем запустили ). Самый простой способ решить это, "заставить" возвращать метод runAuth() результат. В итоге получится:
|
||||
|
|||||
| Acer |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 652 Регистрация: 5.9.2007 Где: UA::DN Репутация: 15 Всего: 8 |
А что, если попробовать сделать через
сигнал QApplication - lastWindowClosed() ? Вдруг получится |
|||
|
||||
| mes |
|
||||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 7 Всего: 250 |
так сигнал придет раньше чем выполнится строчка a.exec(); чтоб использовать систему сигналов для вышеупомянутой цели, надо отнаследоваться от QApplication и в нем реализовать нужные действия Это сообщение отредактировал(а) mes - 1.10.2008, 14:50 |
||||
|
|||||
| aspirin2003 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 111 Регистрация: 18.3.2007 Где: Саратов Репутация: нет Всего: нет |
Всем спасибо за ответы
|
|||
|
||||
![]()
|
| Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |