将主参数传递给gui库的init函数

当涉及Qt和GTK +等库中的库初始化时,必须将主参数传递给初始化库的函数。 为什么? 图书馆用它们做什么?

Qt和GTK +都设计为响应某些命令行标志以方便使用。 (两者都响应各种环境变量。)您不一定要将argv和argc发送到相应的init函数,但它不会受到伤害,特别是如果您打算利用这些function。

这是gtk_init()的GTK + 文档必须说的:

虽然您希望将main()中的argc,argv参数传递给此函数,但如果argv不可用或者不需要命令行处理,则可以传递NULL。

argc和argv会相应调整,因此您自己的代码永远不会看到那些标准参数。

这里是GTK +接受的命令行选项的完整列表。

Qt的QApplication同样接受命令行参数并删除它接受的参数。 这与QApplication构造函数文档中接受的参数一起记录 。