![]() |
|
|
![]()
|
|
| daemonaz |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 160 Регистрация: 4.5.2008 Репутация: нет Всего: нет |
Вот такой вопрос, как перезапустить приложение по команде exit(int)?
Иначе говоря, по умолчанию QtCreator генерирует при создании приложении MainWindow такой код в main.cpp
При вызове quit я так понимаю вызывается exit(0), таким образом app.exec выдает 0, однако мне бы хотелось зациклить эти строчки до сих пор пока не появится result = 1, я в mainwindow говорю об этом с помошью exit(1), однако при выходе ничего не происходит. |
|||
|
||||
| loneybibi |
|
||||
|
Любитель ![]() ![]() Профиль Группа: Участник Сообщений: 257 Регистрация: 28.5.2010 Где: Донецк (Украина) Репутация: 3 Всего: 3 |
Как я понял надо что бы программа сама себя перезапускала.
Не знаю зачем такое надо, я пробовал у меня получилось только вот что то вроде этого:
Этот код будет перезапускать программу до тех пор пока не будет вызван метод exit(); А вообще лучше перезапуск приложения сделать по другому. Перегрузить событие QCloseEvent у окна и на него повесить:
После чего программа при закрытии окна или вызове метода close() закроет текущую копию и запустит новую. Это сообщение отредактировал(а) loneybibi - 3.11.2012, 00:34 -------------------- Red Hat Fedora 17 Qt 4.8.1 (x64), GCC 4.4.3, G++ 4.4.3, QtCreator 2.4.1 |
||||
|
|||||
| borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 48 Всего: 135 |
loneybibi, первый вариант не рабочий
ISO C++ forbids taking address of function '::main' Он будет работать только на студии. А второй совершенно нормальный. -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
| loneybibi |
|
|||
|
Любитель ![]() ![]() Профиль Группа: Участник Сообщений: 257 Регистрация: 28.5.2010 Где: Донецк (Украина) Репутация: 3 Всего: 3 |
Не знаю у меня работает под mingw и g++ на ура -------------------- Red Hat Fedora 17 Qt 4.8.1 (x64), GCC 4.4.3, G++ 4.4.3, QtCreator 2.4.1 |
|||
|
||||
| borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 48 Всего: 135 |
не должно. в стандарте сказано, что не должно. http://liveworkspace.org/code/246000e0c658...9b2b96358116c65 -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
| loneybibi |
|
|||
|
Любитель ![]() ![]() Профиль Группа: Участник Сообщений: 257 Регистрация: 28.5.2010 Где: Донецк (Украина) Репутация: 3 Всего: 3 |
Я понимаю что это вообще "велосепед" и работать может и не должен Еще я же указал что лучше использовать второй вариант ! -------------------- Red Hat Fedora 17 Qt 4.8.1 (x64), GCC 4.4.3, G++ 4.4.3, QtCreator 2.4.1 |
|||
|
||||
| daemonaz |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 160 Регистрация: 4.5.2008 Репутация: нет Всего: нет |
Повесил startDetached на closeEvent, не сработало почему-то, что не так делаю?
|
|||
|
||||
| borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 48 Всего: 135 |
applicationName - обычная строка, которая будет пустая, если ты её явно не установил (setApplicationName) тебе нужен applicationFilePath -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
| Snake174 |
|
||||||||
![]() Новичок Профиль Группа: Участник Сообщений: 36 Регистрация: 5.10.2011 Где: Miass Репутация: нет Всего: нет |
В MainWindow.h объяви:
В MainWindow.cpp:
При закрытии приложения:
В main.cpp:
|
||||||||
|
|||||||||
| daemonaz |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 160 Регистрация: 4.5.2008 Репутация: нет Всего: нет |
Snake174, спасибо!
|
|||
|
||||
![]()
|
| Правила форума "С/С++: Кроссплатформенное программирование, 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. |