Нуждаюсь в помощи о создавании настольного приложения с gui

Я планирую сделать Настольное приложение с помощью Python, изучить некоторые Настольные понятия. Я собираюсь использовать GTK или QT, я все еще не решил который.

Факт: Я хотел бы создать приложение с возможностью, которую назовут из командной строки И использования GUI. Таким образом, это было бы полезно для cmd поклонников и пользователей GUI также.

Было бы интересно создать веб-интерфейс также в будущем, таким образом, это могло быть выполнено в сервере куда-нибудь с помощью интерфейса HTML, созданного с шаблонным языком.

Я думаю приблизительно два подхода: - создание "модели" (базовый модуль, где вся функциональность находится) с простым интерфейсом, который называют от настольной/веб-реализации; - Создание "модели" с интерфейсом HTML и embeb компонент браузера, таким образом, я мог снова использовать весь код в обоих настольных/веб-сценариях.

Мой вопрос: который точно понятия вовлечены в этот проект? То, что способствует/ставит каждому подходу в невыгодное положение, имеет? Действительно ли они возможны?

Путем именования "интерфейса" я планирую просто сделать некоторые interfaces.py файлы с вызовами определения. Действительно ли это - плохой подход?

Я хотел бы знать некоторые книжные рекомендации или ресурсы к обеим опциям - или исходный код из проектов, которые совместно используют те же GUI/cmd/web цели, которые я после.

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

1
задан Somebody still uses you MS-DOS 21 May 2010 в 15:52
поделиться

2 ответа

А как насчет ссылки на источник?

Наличие команды CLI и интерфейса GUI действительно распространено на платформах unix ... Битовый торрент-клиент TransmissionBT - хороший пример того, что вы планируете делать.

1
ответ дан 3 September 2019 в 00:28
поделиться

Разделение уровня представления и логики приложения делает это возможным !.

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

Например, вы можете разделить приложение на два или более уровней, один уровень с представлением приложения, а другой с моделью. Это позволяет повторно использовать всю модель приложения с различными реализациями уровня представления.

Уровень представления содержит компоненты, которые реализуют и отображают пользовательский интерфейс и управляют взаимодействием с пользователем. Этот уровень включает элементы управления для пользовательского ввода и отображения в дополнение к компонентам, которые организуют взаимодействие с пользователем. Может иметь несколько реализаций технологий уровня представления, таких как PyQt4, PyGtk, Html, console и т. Д.

Почему полезно разделение модели?

Вы можете задаться вопросом, почему важно вынести столько логики за пределы уровня представления и в слой модели. Самая большая причина - повторное использование: логика, помещенная в модель, увеличивает возможность повторного использования приложения. По мере роста приложений приложения часто перерастают в другие сферы. Приложения могут запускаться как веб-приложение, но позже некоторые функции могут быть перенесены в интеллектуальное клиентское приложение. Части приложения могут быть разделены между веб-сайтом и веб-службой или службой Windows, работающей на сервере. Кроме того, соблюдение логики помогает в разработке хорошего дизайна (иногда код в пользовательском интерфейсе может стать неряшливым).

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

Вы можете поискать информацию о N-слоистом архитектурном стиле в Интернете.

Это пример приложения, реализующего несколько типов пользовательских интерфейсов, но основанных на. NET framework для Python аналогична.

http://microsoftnlayerapp.codeplex.com/

Я работаю над большим проектом, основанным на среде представления PyQt4. один из применяемых стилей архитектуры - N-Layers. Если вам нужен простой пример на основе PyQt4, пришлите мне электронное письмо.

1
ответ дан 3 September 2019 в 00:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: