【发布时间】:2018-11-22 13:49:18
【问题描述】:
我有接受 unicode 字符作为参数的 Windows 控制台应用程序
wmain( int argc , wchar_t ** argv)
现在我想将 argv 参数传递给我的 QApplication 。但是 QApplication 接受 char ** 。
我该如何做到这一点?
【问题讨论】:
-
要么使用
main(),要么将wchar_ts“翻译”成chars。我无法想象QApplication需要与非 ASCII 值相关的命令行参数,但实际上我不确定。文件路径是个例外。 -
Windows 上的 IIRC
QApplication::arguments已经支持 Unicode。编写可移植代码,使用int main(int argc, char**argv),Qt 会神奇地让它工作。 -
根据this answer,构造函数参数不用于构造
QApplication::arguments()。所以你也可以不打扰。