Я бы порекомендовал использовать Qt Designer для создания максимально возможного количества пользовательского интерфейса.
Вам будет намного проще экспериментировать с макетами и тому подобным образом, и это автоматически сохранит большую часть материалов, связанных с пользовательским интерфейсом, отдельно от остальной логики вашего приложения. Сделайте это для главного окна, а также для любых диалоговых окон, какими бы простыми они ни были.
Затем используйте pyuic4
, чтобы скомпилировать модули Python из всех файлов ui
и собрать их все вместе в свой собственный подпакет.
Я бы рекомендовал использовать флаг -w
при компиляции ui
файлов. Это создаст простой класс пользовательского интерфейса оболочки, который может быть разделен на подклассы напрямую.
Итак, ваше главное окно будет выглядеть примерно так:
from ui.mainwindow import MainWindowUI
class MainWindow(MainWindowUI):
def __init__(self):
super(MainWindow, self).__init__()
# connect signals...
# do other setup stuff...
Обратите внимание, что все виджеты, добавленные в Qt Designer, теперь доступны непосредственно как атрибуты экземпляра MainWindow
.
Я бы не стал беспокоиться о том, чтобы разбить ваше приложение на более мелкие модули до тех пор, пока не начну разработку. Это может не оказаться необходимым, но если это произойдет, станет более очевидно, как это сделать, когда приложение станет более сложным.
Нет жестких и быстрых правил - каждый проект индивидуален.