Структура приложения Python Gtk Glade. Каковы лучшие практики?

1

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

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

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

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

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

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

Теги:
structure
project
gtk
glade

1 ответ

1
Лучший ответ

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

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

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

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

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

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

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

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

  • 0
    Спасибо за потраченное время, чтобы ответить. Да, мои приложения более 1000 строк. Я пытался разделить классы и окна в разных файлах, но я застрял, когда мне пришлось установить переходный процесс для окон, как вы написали. Я проверю ваше приложение и возьму его в качестве модели. :)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню