2009-12-30 4 views
3

Glade помог мне быстро начать работу над проектом, но мне было тяжело поддерживать его в долгосрочной перспективе, и я думаю о переключении всего на собственный код. В каких обстоятельствах вы выбрали бы поляну и когда бы вы использовали собственный код?В Gtk, когда лучше использовать Glade/GtkBuilder, чем собственный код?

ответ

2

если нативным кодом вы имеете в виду «прямой GTK требует, чтобы построить пользовательский интерфейс», то я бы переключиться на него по нескольким причинам:

  1. если виджеты встроенной динамически в зависимости от предпочтений пользователя и т.д.
  2. если я использую множество пользовательских виджетов, особенно. содержащиеся друг с другом (например GDL док-панелей)
  3. поддерживать обратную совместимость с более старой версией GTK

UPD: Также я все еще использую glade2.x, который имеет генерации кода (заплата для компиляции против последний gtk2). это действительно помогает быстро запустить «gui build from code» и работает как с древними, так и с новыми версиями GTK. хотя я боюсь, что у меня возникнут проблемы с портированием на gtk3 :)

и я никогда не выбираю gtkbuilder по сравнению с другими альтернативами, потому что он недоступен в (по-прежнему широко распространенным) версиям старых версий GTK .. dunno, если я когда-либо переключитесь на него .. может быть, когда появится gtk3.

4

Я бы использовал только собственный код по соображениям производительности. Мне гораздо проще работать с gtkbuilder. Вы использовали glade или gtkbuilder? С Glade 3 формат gtkbuilder прост в использовании и прост в планировке и дизайне. Кроме того, gtkbuilder легче загружать виджеты из-за поляны.

+0

Я использовал GtkBuilder с поляной 3, и это очень приятно. Главная проблема для меня в том, что я должен отредактировать ее с помощью отдельного приложения (Glade 3 vs любой текстовый редактор/IDE, который я использую). Это особенно раздражает, когда я просто хочу проверить что-то простое, например, имя виджета. –

+1

Вы всегда можете открыть файл GtkBuilder в своем редакторе, я полагаю. Вероятно, это будет так же просто, как выяснить, какой виджет делает то, что в коде (он может запутаться там, не видя графического обзора). –

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