Qt中的GUI应用程序是否可以在运行时监听命令行参数?

is it possible to listen for commandline arguments at runtime for a GUI app in Qt?

本文关键字:监听 运行时 命令行 参数 GUI 中的 应用程序 是否 Qt      更新时间:2023-10-16

我正在构建一个应用程序,读取URL链接的文本文件,以创建网站缩略图。

我想是能够插入URL的文本文件与PHP,然后调用程序读取链接,使缩略图。

我可以在完成处理时关闭应用程序,然后在需要时再次调用它,但我认为如果有很多请求,应用程序将会启动/关闭很多不必要的。

如果我能通过命令行参数控制应用程序就更好了。我不确定这是否可能。

我正在尝试创建一个while循环来侦听命令行输入

while(std::cin >> urlLink){
    qDebug() << "test";
}

接下来我试着添加:"CONFIG += console"到.pro文件,但它不显示任何命令行控制台。

我不知道如何完成我想做的事。如果你们能帮我,我将非常高兴。

所以我的问题是:是否有可能通过命令行控制GUI应用程序?我该怎么做呢?(在Qt)

Joachim是对的,您混淆了命令行参数,它们在程序进入main()之前传递给程序,以及控制台/命令行/终端输入和输出,这是使用cin/cout, printf/scanf等完成的。您可以使用cin和cout,这将是完全有效的,但Qt的方式做到这一点将是使用QTextStream。查看这里的讨论:是否有可能使用cin与Qt?

我认为在一个线程中是完全可行的,但是你可能想把你的程序分成不同的QThreads,一个线程等待终端输入,然后在读取链接时发出信号,另一个线程在后台处理链接。但是,你可以直接线性地做,即读取链接,处理链接。