¿Cómo creo una aplicación simple de la consola Qt en C ++?

Estaba intentando crear una aplicación de consola simple para probar el analizador XML de Qt. Comencé un proyecto en VS2008 y obtuve esta plantilla:

int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); return a.exec(); } 

Como no necesito el procesamiento de eventos, me preguntaba si podría meterme en problemas si omito crear una QCoreApplication y ejecutar el ciclo de eventos. Los documentos indican que se recomienda en la mayoría de los casos.

En aras de la curiosidad, sin embargo, me pregunto cómo podría hacer que una tarea genérica se ejecute en el ciclo de eventos y luego terminar la aplicación. No pude buscar en Google un ejemplo relevante.

Aquí hay una manera simple de estructurar una aplicación si desea que se ejecute un bucle de evento.

 // main.cpp #include  class Task : public QObject { Q_OBJECT public: Task(QObject *parent = 0) : QObject(parent) {} public slots: void run() { // Do processing here emit finished(); } signals: void finished(); }; #include "main.moc" int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); // Task parented to the application so that it // will be deleted by the application. Task *task = new Task(&a); // This will cause the application to exit when // the task signals finished. QObject::connect(task, SIGNAL(finished()), &a, SLOT(quit())); // This will run the task from the application event loop. QTimer::singleShot(0, task, SLOT(run())); return a.exec(); } 

No te olvides de agregar el

 CONFIG += console 

bandera en el archivo qmake .pro.

Para el rest solo está usando algunas de las clases de Qt. Una forma en que lo uso es generar procesos multiplataforma.

No necesita la QCoreApplication en absoluto, solo incluya sus objetos Qt como lo haría con otros objetos, por ejemplo:

 #include  int main() { QVector a; // Qt object for (int i=0; i<10; i++) { a.append(i); } /* manipulate a here */ return 0; } 

Logré crear una consola simple “hello world” con QT Creator

Creador utilizado 2.4.1 y QT 4.8.0 en Windows 7

dos formas de hacer esto

Normal C ++

Haz lo siguiente

  1. Archivo- proyecto de archivo nuevo
  2. en proyectos seleccione: otro Proyecto
  3. seleccione “Proyecto simple de C ++”
  4. ingrese el nombre del proyecto 5.Targets seleccione Escritorio ‘marque’
  5. gestión del proyecto simplemente haga clic en siguiente
  6. puedes usar comandos de c ++ como C ++ normal

o

Consola QT

  1. Archivo- proyecto de archivo nuevo
  2. en proyectos seleccione: otro Proyecto
  3. seleccione la aplicación QT Console
  4. Objetivos seleccionar Escritorio ‘marcar’
  5. gestión del proyecto simplemente haga clic en siguiente
  6. agregue las siguientes líneas (todo lo que C ++ incluye que necesita)
  7. agregar “#include ‘iostream'”
  8. agregar “using namespace std;”
  9. después de QCoreApplication a (int argc, cghar * argv []) 10 agregue variables, y su código de progtwig …

ejemplo: para la consola QT “hello world”

archivo – nuevo proyecto de archivo ‘nombre del proyecto’

otros proyectos – Aplicación QT Console

Objetivos seleccionar ‘Escritorio’

gestión de proyectos – siguiente

código:

  #include  #include  using namespace std; int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); cout< <" hello world"; return a.exec(); } 

ctrl -R para ejecutar

comstackdores utilizados para los anteriores MSVC 2010 (QT SDK) y minGW (QT SDK)

Espero que esto ayude a alguien

Como recién comencé a utilizar QT recientemente, también busqué en Www información y ejemplos para comenzar con ejemplos simples que siguen buscando ...

Puede llamar a QCoreApplication :: exit (0) para salir con el código 0

Tenía el mismo problema. encontré algunos videos en Youtube. Así que aquí hay una sugerencia aún más simple. Este es todo el código que necesita:

 #include  int main(int argc, char *argv[]) { qDebug() < <"Hello World"<< endl; return 0; } 

El código anterior proviene de Qt5 Tutorial: creación de una aplicación de consola simple por

Dominique Thiebaut

http://www.youtube.com/watch?v=1_aF6o6t-J4