为什么我的C++/Qt程序没有做任何事情?
Why isn't my C++/Qt program doing anything?
我在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();
}
当我运行它时,我的控制台显示如下:
Starting /home/hamed/qt programs/test3-build-desktop/test3...
什么也没发生。我该怎么办?
当复制粘贴代码时,它会按预期为我运行(好吧,它没有终止,而是运行)。以下是我在命令行中所做的:
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;
我该怎么办?
只需键入一些内容,然后按输入。
在行return a.exec();
之前添加QTimer::singleShot(0, &a, SLOT(quit()));
,不要忘记#include <QtCore/QTimer>
(或者你可以让生活更轻松,导入所有#include <QtCore>
)。
CCD_ 6进入等待事件的事件循环;通常以具有图形用户界面的用户输入的形式。然而,这是一个命令行程序,用户实际上没有办法发送事件,所以它会一直等待。这对服务器类型的应用程序很有用,但对您在这里所做的不有用。:)
(注意,这是您的应用程序可能看起来什么都不做的许多原因之一。在您的程序执行您所期望的操作之前,您可能需要遵循其中的几个答案)
相关文章:
- Mongodb c++驱动程序:如何查询元素的数组
- C++,系统无法执行指定的程序
- 在C++程序中输入的文本文件将不起作用,除非文本被复制和粘贴
- 在VS代码中交叉编译Windows与Linux上的MinGW的SDL程序
- C++ Windows 驱动程序MSB3030无法复制该文件,因为它找不到
- 重载操作程序时出错>>用于类中的字符串 memebr
- 获取日期异步信号安全吗?如果在信号处理程序中使用,它会导致死锁吗
- 试图在visual studio上用C++创建一个桌面应用程序
- 模板元程序查找相似的连续类型名称
- FFmpeg:制作一个应用程序比直接使用ffmepg更好吗
- 如何通过cpp程序运行shell脚本
- 有没有什么方法可以使用一个函数中定义的常量变量,也可以由c++中同一程序中的其他函数使用
- IPC使用多个管道和分支进程来运行Python程序
- 如何将c++程序的一些输出传递给shell,以便在shell中使用
- 使用C++程序合并排序没有得到正确的输出
- 基于boost的程序的静态链接——zlib问题
- 程序崩溃并显示"std::out_of_range"错误
- 在C应用程序中运行C++(带有STL)函数
- 使用mongocxx驱动程序时包含头文件问题
- 频率字长,程序只打开cmd,但不做任何事,c++