QApplication的构造函数接受(int argc,char**argv)来处理任何Qt特定的命令行参数。
如果我的应用程序是unicode怎么办?而我有一辆wchar_t** argv?
创建所有命令行参数的char*副本并将其传递给本身为unicode的库似乎有点傻。
发布于 2010-11-02 02:57:11
是的,就是这样。如果不是因为this note
警告:在Unix上,此列表是从传递给main()函数中的构造函数的argc和argv参数构建的。argv中的字符串数据是使用QString::fromLocal8Bit()解释的;因此,不可能在运行在Latin1语言环境中的系统上传递日语命令行参数。大多数现代Unix系统没有这个限制,因为它们是基于Unicode的。
在基于NT的Windows上,此限制也不适用。在Windows上,参数()不是从argv/argc的内容构建的,因为该内容不支持Unicode。相反,参数()是根据GetCommandLine()的返回值构造的。因此,arguments().at(0)给出的字符串可能不是Windows上的程序名,这取决于应用程序的启动方式。
诚然,我也不明白这个词。
发布于 2010-11-02 03:01:51
嗯,main总是会得到char** argv,所以这就是QApplication所期望的。您还可以转换它们(使用什么语言环境/编码?)如果要对命令参数执行其他操作,请将其设置为宽字符串。
https://stackoverflow.com/questions/4072016
复制相似问题