lunedì 28 gennaio 2013

Qt Console Application

Oltre alle applicazioni GUI con Qt e' possibile anche creare delle applicazioni da console (anche usando i template di QtCreator)


Lo scheletro dell'applicazione e' il seguente
-------------------------------

#include <QtCore/QCoreApplication>

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);

    return a.exec();
}
-------------------------------
Se si esegue il codice si ha la sorpresa di aver una finestra di consolle perennemente aperta
Cio e' dovuto al fatto che l'applicazione per chiudersi deve ricevere un esplicito messaggio di chiusura che puo' essere effettuato mediante una chiamata
QCoreApplication::exit(0)

oppure mediante una via piu' complicata
------------------------
#include <QtCore/QCoreApplication>
#include <QTimer>
int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);
    QTimer::singleShot(5000, &a, SLOT(quit())); 
    return a.exec();
}