2016-10-12 2 views
1

Мне нужно разработать собственное приложение для Linux для школьного проекта. Я решил работать с GTK, и я начал читать официальное руководство.Должен ли я изучать GObject и GLib для работы с GTK?

Сам API GTK довольно прост для понимания, но я сталкиваюсь с проблемами с GObject и GLib, их трудно узнать, и я не знаю, к чему они привыкли. Должен ли я изучать GObject и GLib для работы с GTK?

Официальная документация GObject невероятно огромна https://developer.gnome.org/gobject/stable/, и мне понадобится несколько недель, чтобы просто изучить GObject, чтобы, наконец, изучить GTK.

ответ

4

GTK + основан на GLib и использует свой основной цикл для обработки событий и управления памятью. Если вы набираете код на C, вы должны понимать, как работает GLib (иначе у вас будет есть утечки памяти). Детали нижнего уровня объектной системы (GObject) интересны только при создании пользовательских виджетов.

Однако, если требования вашего проекта позволяют использовать Python или JavaScript, то Glib/GObject находятся рядом с бесполезными самостоятельно, и вы можете напрямую погрузиться в GTK +.

Источник: автор приложения, использующие PyGObject, gtkmm и сырой GTK + в С.

+0

Обратите внимание, что вы не должны научиться _absolutely everything_ либо. Вам нужны только основы и знания о том, как безопасно использовать GTK +. Это очень хороший ответ от довольно нового пользователя. Спасибо Артем. – oldtechaa

+1

Понимание основ GObject будет необходимо для понимания того, как работают некоторые из более сложных виджетов, особенно GtkTreeView. Вам все еще не нужно знать достаточно, чтобы создать свой собственный объект, но вам нужно понять, какие свойства, сигналы и GValues, по крайней мере. – andlabs

+0

@andlabs, да, хотя я должен надеяться, что кто-нибудь знает основы свойств и сигналов. Поскольку я только программировал GTK + в Perl, мне не нужно было напрямую использовать GObject. – oldtechaa

Смежные вопросы