Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/159.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 为什么不是';t我的C++/Qt程序在做什么?_C++_Qt_Qt Creator - Fatal编程技术网

C++ 为什么不是';t我的C++/Qt程序在做什么?

C++ 为什么不是';t我的C++/Qt程序在做什么?,c++,qt,qt-creator,C++,Qt,Qt Creator,我在Qt Creator中编写了这个程序,但我不知道如何运行它。这是我的密码: #include <QtCore/QCoreApplication> using namespace std; #include <iostream> int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); string str; cin >> str; cout <&

我在Qt Creator中编写了这个程序,但我不知道如何运行它。这是我的密码:

#include <QtCore/QCoreApplication>
using namespace std;
#include <iostream>

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

   string str;
   cin >> str;
   cout << " str is : " << str;
   return a.exec();
}

…什么也没发生。我该怎么办?

复制粘贴代码时,它会按预期为我运行(当然,它不会终止,而是运行)。以下是我在命令行中所做的操作:

cd testproject
qmake -project
qmake
make
./testproject
如上所述,Qt本身是一个库,所以当您说从“Qt内”运行它时,您可能指的是某个IDE,这里的行为完全取决于您使用的IDE

更新:

从你的留言

Starting /home/hamed/qt programs/test3-build-desktop/test3...
我假设您使用的是QtCreator IDE,它不允许您在运行时将内容输入到控制台。我不知道您是否可以让它这样做,但如果您在控制台中输入项目目录并使用
/projectname
,它就会工作。上述建筑部分将由QtCreator处理

另一个更新:

查看有关如何直接从QtCreator使其工作的信息

什么都没发生

正如您在此处所写,您的程序需要输入:

cin >> str;
我该怎么办


只需输入一些内容,然后按enter键即可添加QTimer::singleShot(0,&a,SLOT(quit())
返回a.exec()行之前
并且不要忘了
#include
(或者您可以让生活更轻松,并导入所有
#include

a.exec()
进入一个等待事件的事件循环;通常以带有图形用户界面的用户输入的形式。然而,这是一个命令行程序,用户并没有真正的方法发送一个事件,所以它会一直等待。这对于服务器类型的应用程序很有用,但不是您在这里执行的操作。:)


(注意,这是您的应用程序可能看起来无所事事的许多原因之一。在您的程序实现预期目标之前,您可能需要遵循以下几个答案)

我知道,但我应该在哪里键入!我使用Qt creator,应用程序输出只写Starting/home/hamed/Qt programs/test3 build desktop/test3。。。我是Qt创建者的新手:(我收到这个错误:“main.cpp:12:5:error:'QTimer'尚未声明”我应该导入什么?@hamed我已经更新了我的答案以回应你的评论,但你真的应该阅读。如果你至少不尝试自己找到答案,SO社区很快就会厌倦回答问题。Qt文档是完全免费的,令人震惊!但它不再有效!!!第一个答案是c请原谅我的问题:(@hamed)你可能想花40分钟
cin >> str;