【发布时间】:2021-07-12 21:09:09
【问题描述】:
我正在开发一个希望接受命令行参数的 Qt 应用程序。
我不想将QCommandLineParser 与QCommandLineOptions 一起使用,因为它不支持诸如内置argparse 之类的选项,并且因为它需要在@987654326 之前初始化QApplication之前 @.
但是,我不能简单地使用来自sys.argv 的参数,因为它们也包含Qt 特定的参数,例如--style。
Qt 有一个内置函数来给我这些 Qt 本身不使用的参数,还是我必须自己一个一个地过滤掉它们?
我确实找到了QCoreApplication.arguments(),但这不符合我的需要。引用the docs:
在 Unix 上,这个列表是由传递给 main() 函数中的构造函数的 argc 和 argv 参数构建的
据此,我推断QCoreApplication.arguments 返回的参数列表仍然包含Qt 特定的选项,例如--style。
【问题讨论】:
-
尚未检查,但
QApplication构造函数不会从sys.argv中删除已识别的参数吗? -
@G.M.天哪,它确实删除了它们!但是为什么文档中没有说明这一点?无论如何,谢谢 - 如果您将其作为答案,我将很乐意接受并投票!
标签: python-3.x qt arguments qt5 command-line-arguments