Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Qt и кроссплатформенное программирование С/С++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.01.2017, 23:49   #1
SAMOUCHKA
Форумчанин
 
Регистрация: 07.08.2011
Сообщений: 576
По умолчанию Qt завершение консольной программы

консольная программа в main создается объект унаследованный от QObject
программа завершается с кодом -1073741510. и до деструктора дело не доходить. В чем дело? И как вылечить?

пробовал так, все равно завершается не корректно
Код:
int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);

    Object *ob = new Object;

    int result = a.exec();
    //return a.exec();

    delete ob;

    return result;
}
но ведь delete должен вызывать деструктор
SAMOUCHKA вне форума Ответить с цитированием
Старый 09.01.2017, 01:53   #2
SAMOUCHKA
Форумчанин
 
Регистрация: 07.08.2011
Сообщений: 576
По умолчанию

в общем тут нужно вызывать слот quit(), класса QCoreApplication.
попробую отлавливать события клавиатуры. что бы скажем при нажатии на Esc программа закрывалась

но видимо что то не так делаю.
вот класс в который передаются события
Код:
class MyEvent : public QObject
{
    Q_OBJECT

public:
    MyEvent(QObject *ob = 0) : QObject(ob)
    {
    }

    bool event(QEvent *e)
    {
        qDebug()<<"event"<<e->type();
        return false;
    }

signals:
    void quit();
};
вот так я передаю события в main()
Код:
int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);

    MyEvent *my_event = new MyEvent;
    //QObject::connect(my_event, SIGNAL(quit()), &a, SLOT(quit()));

    QEvent *event_key = new QEvent(QEvent::KeyPress);
    QCoreApplication::postEvent(my_event, event_key);

    int result = a.exec();

    return result;
}
но при нажатии на клаву qDebug() ни чего не выводит.
Может я вообще ахинею напилил? Честно говоря с событиями мало дела имел. Помогите разобратся

Последний раз редактировалось SAMOUCHKA; 09.01.2017 в 02:34.
SAMOUCHKA вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите с написанием консольной программы в Delphi Inori Помощь студентам 7 09.03.2015 23:13
Скрытый запуск консольной программы. Prizrak86 C# (си шарп) 3 03.11.2011 22:25
Текст консольной Delphi-программы trafficj Помощь студентам 5 13.07.2011 14:03
Захват консольной программы в свою Человек_Борща Общие вопросы Delphi 4 29.12.2010 18:58
не читает результат работы консольной программы Consol Работа с сетью в Delphi 0 21.08.2009 12:21