Структура приложения Python Gtk Glade.Каковы лучшие практики? - PullRequest
0 голосов
/ 24 сентября 2018

С тех пор, как я открыл для себя Python, я создал четыре небольших приложения с Glade + Python + Gtk.Для каждого из них структура представляет собой папку с именем приложения, содержащую:

  • папку «images»
  • основной файл .py, который содержит все классы, которыеобрабатывать все окна проекта
  • .glade-файл, который содержит все окна (главное окно приложения, диалоговое окно, диалог конфигурации и т. д.)
  • файл style.css
  • (другие файлы, такие как файл sqlite и / или файл json, если необходимо)

Теперь мне интересно, является ли эта организация хорошей практикой.Потому что я видел видеоурок, в котором каждое окно имеет свой собственный файл ".ui" и файл .py.Кроме того, другие приложения, по-видимому, организованы таким же образом, и проекты Anjuta, похоже, тоже следуют этому правилу.

Кроме того, учебные пособия, которые показывают, как создать приложение Python-Gtk-Glade, являются практически всеми проектами с одним окном....

Итак, мой вопрос: как вы организуете свои проекты Python-Gtk-Glade или как лучше всего это сделать?

Заранее спасибо.

1 Ответ

0 голосов
/ 25 сентября 2018

Способ настройки приложений будет зависеть от ваших предпочтений (стиля кодирования), размера приложения и цели приложения.Однако вот пара соображений:

Будет ли общее количество строк кода Python больше 1000 строк?Файл с более чем 1000 строками будет неудобен для навигации.Я знаю, что свертывание кода, фрагменты кода и т. Д. Помогают, но все же.

Если у вас более одного GtkWindow, поместите .ui и .py каждого окна отдельно.Это помогает при поиске ошибок или добавлении функций.Вы упомянули sqlite, и запросы sql в файле легче освоить через 5 лет, если файлы будут иметь конкретное назначение.Если вы поместите диалоги в тот же файл пользовательского интерфейса, что и родительское окно, вам будет проще использовать set_transient_for и подобное программирование.Наличие более одного окна GtkWindow в файле .ui сделает перетаскивание виджета переупорядочением.

Можно ли повторно использовать части кода приложения?Если вы обнаружите, что дублируете функции в нескольких разных файлах, которые имеют разные цели, создайте класс или функцию, чтобы упростить эту одну функцию (применимо только к настройке нескольких файлов).

И, наконец, когда ваша папка сФайлы .ui и .py начинают становиться большими (? 25 - 50 файлов?), вам может потребоваться подпапка, содержащая группу файлов со схожей функциональностью.Это не написано в камне.Nemo часто этим не пользуется, другие используют.

Я активно занимаюсь разработкой своего собственного программного обеспечения для управления бизнесом, используя Python + Gtk, найденный здесь .Я обнаружил, что описанные выше принципы хорошо работают для меня.

Я думаю, что причина, по которой документация для Gtk обычно показывает настройки отдельных файлов, заключается в том, что они являются просто доказательством концепции, а не лучшими учебниками по управлению приложениями.Управление приложениями (для меня, во всяком случае) было методом проб и ошибок, и из изучения других приложений с открытым исходным кодом.

Отказ от ответственности : Эти предложения только мое мнение.Они не одобрены Python, Gtk или Glade.Вам нужно будет оценить эти предложения на основе вашего варианта использования.

...