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

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

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

我想要的是能够使用 PHP 将 URL 插入到文本文件中,然后调用程序读取链接并制作缩略图。

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

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

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

while(std::cin >> urlLink){

    qDebug() << "test";

}

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

我不知道如何完成我想做的事情。如果你们能帮助我,我会很高兴。

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

Joachim 是对的,您混淆了在程序进入 main() 之前传递给您的程序的命令行参数,以及使用 cin/cout 完成的 console/command-line/teminal 输入和输出, printf/scanf, 等等。您可以使用 cin 和 cout,这是完全有效的,但 Qt 的方法是使用 QTextStream。请参阅此处进行讨论:Is it possible to use cin with Qt?

我认为它在一个线程中完全可行,但您可能希望将您的程序拆分为不同的 QThreads,其中一个线程等待终端输入,然后在读取 link 时发出信号,并且其他线程在后台处理 links。但是,您可以线性地进行,即读取 link,处理 link。