代码之家  ›  专栏  ›  技术社区  ›  CantThinkOfAnything

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

  •  2
  • CantThinkOfAnything  · 技术社区  · 10 年前

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

    我希望能够用PHP将URL插入文本文件,然后调用程序读取链接并制作缩略图。

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

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

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

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

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

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

    所以我的问题是:有可能有一个通过命令行控制的GUI应用程序吗?我该怎么办?(数量)

    1 回复  |  直到 10 年前
        1
  •  3
  •   Community Mohan Dere    9 年前

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

    我认为这在一个线程中是完全可行的,但您可能希望将程序分成不同的QThread,一个线程等待终端输入,然后在读取链接时发出信号,另一个线程在后台处理链接。但是,您可以线性地执行,即读取链接,处理链接。