C++ 为什么不是';t我的C++/Qt程序在做什么?
我在Qt Creator中编写了这个程序,但我不知道如何运行它。这是我的密码: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 <&
#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;