LINUX.ORG.RU

[pygtk] [glade] Как правильней: 1 файл - 1 окно или 1 файл - куча окон?

 ,


0

1

Собственно, сабж. Как правильнее делать: в один glade-файл запихивать все окна, или делать по файлу на каждое окно? Есть какие-нибудь PEP'ы на этот счет или тут можно руководствоваться только собственным удобством?

И если все в 1 glade-файле, то как правильнее организовывать его открытие?

Пример: нарисовал основное окно, написал класс для вызова и работы с ним. Нарисовал второе окно (messagebox обычный), в том же файле, написал и для него класс, вызываемый из класса первого окна. Соответственно, чтоб glade-файл не открывать кучу раз - просто передал объект gtk.glade.XML как аргумент в вызываемый класс. Такой подход мне кажется быдлокодерским каким-то, как можно это организовать правильней?

По документации на pygtk.org побродил, ничего путного не нашел.

Ты про gtk.Builder.add_from_file?

Реально пофиг.

Если проект большой то можно и в разных файлах чтобы отслеживать изменения проще было. В маленьком смысла нет дробить.

ИМХО

true_admin ★★★★★
()
Ответ на: комментарий от true_admin

Про self.wTree = gtk.glade.XML(self.gladefile) и т.д. Ну пофиг так пофиг, думал может просто где-нибудь в PEP прописаны рекомендации.

А со вторым вопросом, по наиболее грамотную организацию открытия и подключения glade-файла? У меня просто проблема - в универе культуру кода не преподавали и не контролировали вообще никак, как говорится «лишь бы работало», а хочется писать все-таки так, чтоб другим показать не стыдно было.

strangeman ★★★★
() автор топика
Ответ на: комментарий от strangeman

> а хочется писать все-таки так, чтоб другим показать не стыдно было.

Тогда смотри как делают те самые другие, бери open source проекты и читай их исходный код.

archimag ★★★
()
Ответ на: комментарий от strangeman

Ну, вообще gtk.glade устарел. Как и gtk.Builder который грозятся заменить(если уже не заменили) на pyGobject. Это если про код говорить :).

А так, на мой взгляд, как у тебя сделано это нормально. Что в нём быдлокодерского? Главное чтобы код читаемый был.

true_admin ★★★★★
()
Ответ на: комментарий от archimag

бери open source проекты и читай их исходный код.

Без конкретных названий проектов это очень плохой совет. 99% open source кода убог. Особенно проекты с длинной историей разработки которые с самого основания не рефакторились.

true_admin ★★★★★
()
Ответ на: комментарий от true_admin

Для pyGobject я не нашел хорошего мануала, уровня http://www.pygtk.org/tutorial.html, к сожалению. А так как в программировании у меня опыта мало - лучше начать с хорошо документированных вещей.

strangeman ★★★★
() автор топика
Ответ на: комментарий от tensai_cirno

Ты прав, я не до конца разобрался в вопросе. Это libglade и pygtk в заднице, лучше ими не пользоваться для написания новых программ.

А gtkBuilder это часть gtk, поэтому оно, конечно, не затронуто.

true_admin ★★★★★
()

Отставить панику. gtk.Builder ничего не депрекейтед. Делай через него. В gobject-instrospection эта часть не поменяется.

По теме: на каждое окно завожу отдельный файл, но это связано с особенностью проектов — они сделаны как набор из большого количества независимых плагинов.

Также, ничего крамольного в упаковывании нескольких окон в один файл нет. Поэтому, как удобней, так и организовывай.

baverman ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.