【问题标题】:Passing main arguments to init functions of gui libraries将主要参数传递给 gui 库的 init 函数
【发布时间】:2015-01-28 03:19:05
【问题描述】:

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

【问题讨论】:

    标签: c qt user-interface gtk


    【解决方案1】:

    为了方便起见,Qt 和 GTK+ 都旨在响应某些命令行标志。 (两者都响应各种环境变量。)您不一定必须将 argv 和 argc 发送到相应的 init 函数,但这并没有什么坏处,特别是如果您打算利用特点。

    GTK+ documentation for gtk_init() has 是这样说的:

    虽然你应该传递 argc , argv 参数 main() 到这个函数,如果 argv 不是,则可以传递 NULL 可用或不需要命令行处理。

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

    GTK+ 接受的命令行选项的完整列表is here

    Qt 的 QApplication 类似地接受命令行参数并删除它接受的参数。这与QApplication constructor documentation 中接受的参数一起记录在案。

    【讨论】:

    • 应用程序甚至可能是一个命令行应用程序。这就是为什么我们有方便的QCommandLineParser
    猜你喜欢
    • 2013-07-24
    • 2020-06-27
    • 1970-01-01
    • 2020-02-09
    • 1970-01-01
    • 1970-01-01
    • 2023-01-12
    • 2016-12-31
    • 2017-10-04
    相关资源
    最近更新 更多