Russian Qt Forum
Ноябрь 24, 2024, 05:52 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: return в main  (Прочитано 3818 раз)
Mityai
Гость
« : Апрель 02, 2010, 11:14 »

Доброго времени суток. Вопрос, возможно, идиотский, но всё же. Чем отличается использование return 0; от return a.exec(); в завершении функции main с определенным QApplication a(argc, argv);? И как это вообще связано с QApplication - что есть "a" в этом случае?
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #1 : Апрель 02, 2010, 11:36 »

return a.exec() запускает очередь сообщений и программа не завершается.
return 0 приведет к завершению программы.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
alexman
Гость
« Ответ #2 : Апрель 02, 2010, 12:21 »

Еще один идиотский вопрос: из help не понятно что ли что делает exec?
Записан
kuzulis
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2812


Просмотр профиля
« Ответ #3 : Апрель 02, 2010, 12:25 »

Цитировать
Еще один идиотский вопрос: из help не понятно что ли что делает exec?
Цитировать
eturn a.exec() запускает очередь сообщений и программа не завершается.
Записан

ArchLinux x86_64 / Win10 64 bit
Mityai
Гость
« Ответ #4 : Апрель 02, 2010, 12:41 »

Еще один идиотский вопрос: из help не понятно что ли что делает exec?
По структуре программы понадобилось сделать так:
Код:
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    MainWindow w;
    w.show();

    while (w.exist)
    {
        ...
        qApp->processEvents();
    }

    return 0;
}
Здесь exist - переменная существования окна.

help читал. Банально заклинило, вопрос действительно идиотский. Всем спасибо!

Записан
Павел_F.
Гость
« Ответ #5 : Апрель 02, 2010, 13:20 »

Уж больно странна у вас структура...
Записан
Mityai
Гость
« Ответ #6 : Апрель 02, 2010, 14:08 »

Уж больно странна у вас структура...

Для обмена данных между приложениями по WinAPI так была сделана... Потом скорее всего в другой поток вынесу и верну a.exec().
« Последнее редактирование: Апрель 02, 2010, 14:12 от Mityai » Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.132 секунд. Запросов: 23.