我有一个最小的例子,我正努力工作。最终目标是能够将某些信息传递给正在等待“cin”呼叫的程序。我想这意味着与标准输入有关。
我正在尝试使用一些Qt对象来帮助我。虽然我没有使用任何其他Qt的东西。
我正在尝试的示例给出了错误:
#include <iostream>
#include <QtCore/QString>
#include <QtCore/QProcess>
#include <QtCore/QStringList>
int main() {
QProcess process;
QString prog = "test.exe";
// Starting "test.exe":
process.start(prog);
bool started = process.waitForStarted();
std::cout << started << std::endl;
// test.exe is waiting for cin, so give "2":
bool response = process.write("2\n");
std::cout << response << std::endl;
}
以下是错误消息:
1
QObject::startTimer: Timers can only be used with threads started with QThread
1
QProcess: Destroyed while process ("test.exe") is still running.
答案 0 :(得分:0)
在极少数情况下,您将拥有没有QApplication或QCoreApplication的Qt-app。它们启动事件循环,定时器,事件,信号/插槽所需。
控制台XML解析器可以是这种无事件应用程序。
看一下,例如这里是一个最小的QtCoreApplication应用程序:How do I create a simple Qt console application in C++?
在子类QWidget或QObject中启动您的进程。