【问题标题】:Should I learn GObject and GLib to work with GTK?我应该学习 GObject 和 GLib 来使用 GTK 吗?
【发布时间】:2016-10-12 07:02:28
【问题描述】:

我必须在 Linux 上为学校项目开发本机应用程序。 我选择与 GTK 合作,并开始阅读官方指南。

GTK API 本身很容易理解,但我遇到了 GObject 和 GLib 的问题,它们很难学习,我不知道为什么要习惯它们。 我应该学习 GObject 和 GLib 以使用 GTK 吗?

GObject 官方文档非常庞大https://developer.gnome.org/gobject/stable/,我需要几周的时间来学习 GObject 以最终学习 GTK。

【问题讨论】:

    标签: gtk glib gobject


    【解决方案1】:

    GTK+ 基于 GLib 并使用其主循环进行事件处理和内存管理。如果您使用 C 编写代码,则必须了解 GLib 的工作原理(否则您出现内存泄漏)。对象系统 (GObject) 的低级细节只有在您创建自定义小部件时才会感兴趣。

    但是,如果您的项目要求允许使用 Python 或 JavaScript,那么 Glib/GObject 本身几乎没有用处,您可以直接进入 GTK+。

    来源:在 C 中使用 PyGObject、gtkmm 和原始 GTK+ 编写的应用程序。

    【讨论】:

    • 请注意,您也不必无所不知。您只需要安全使用 GTK+ 的基础知识和知识。这是来自一个相当新的用户的非常好的答案。谢谢阿尔乔姆。
    • 了解 GObject 的基础知识对于理解一些更复杂的小部件(尤其是 GtkTreeView)如何工作是必要的。您仍然不需要知道足够多的知识来制作自己的对象,但您至少需要了解属性、信号和 GValue 是什么。
    • @andlabs,是的,尽管我希望任何人都知道属性和信号的基础知识。由于我只在 Perl 中进行过 GTK+ 编程,因此我不必直接使用 GObject。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-28
    • 1970-01-01
    • 2010-10-08
    • 2021-01-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多