如何在C ++中创build一个简单的Qt控制台应用程序?

我试图创build一个简单的控制台应用程序来尝试Qt的XMLparsing器。 我在VS2008中开始了一个项目,并得到了这个模板:

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

由于我不需要事件处理,我想知道如果我忽略创build一个QCoreApplication并运行事件循环,是否会陷入困境。 该文件指出,在大多数情况下,这是build议的。

为了好奇,我想知道如何在事件循环中执行一些通用任务,然后终止应用程序。 我无法谷歌相关的例子。

如果你想要运行一个事件循环,这里有一个简单的方法可以构build一个应用程序。

 // main.cpp #include <QtCore> 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(); } 

不要忘了添加

 CONFIG += console 

标志在qmake .pro文件中。

剩下的就是使用一些Qt类。 我使用它的一种方式是生成跨平台的stream程。

您根本不需要QCoreApplication ,就像包含其他对象一样包含您的Qt对象,例如:

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

我设法用QT Creator创build了一个简单的控制台“hello world”

在Windows 7上使用创build者2.4.1和QT 4.8.0

两种方式来做到这一点

Plain C ++

请执行以下操作

  1. 文件 – 新build文件项目
  2. 在项目下select:其他项目
  3. select“Plain C ++ Project”
  4. input项目名称5.目标select桌面“勾选”
  5. 项目pipe理只需点击下一步
  6. 你可以像普通的c ++一样使用c ++命令

要么

QT控制台

  1. 文件 – 新build文件项目
  2. 在项目下select:其他项目
  3. selectQT控制台应用程序
  4. 目标select桌面“勾选”
  5. 项目pipe理只需点击下一步
  6. 添加下面的行(包括您需要的所有C ++)
  7. 添加“#include'iostream'”
  8. 添加“使用命名空间标准;”
  9. 在QCoreApplication之后(int argc,cghar * argv [])10添加variables,以及你的程序代码..

例如:对于QT控制台“hello world”

文件 – 新build文件项目“项目名称”

其他项目 – QT控制台应用程序

目标select“桌面”

项目pipe理 – 接下来

码:

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

CTRL -R运行

用于以上MSVC 2010(QT SDK)的编译器和minGW(QT SDK)

希望这可以帮助别人

正如我刚刚开始使用QT,也search了Www的信息和例子,开始简单的例子仍然search…

您可以调用QCoreApplication :: exit(0)以代码0退出

有同样的问题。 在Youtube上发现了一些video。 所以这里有一个更简单的build议。 这是你需要的所有代码:

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

上面的代码来自Qt5教程:通过构build一个简单的控制台应用程序

多米尼克Thiebaut

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