Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Создание desktop-приложений на Python

Создание desktop-приложений на Python

Евгений Ильин (МАИ, Доцент) @ Moscow Python Meetup 45
"Создание GUI на Python".
Видео: http://www.moscowpython.ru/meetup/45/sozdanie-desktop-prilozhenij-na-python/

Moscow Python Meetup
PRO

May 25, 2017
Tweet

More Decks by Moscow Python Meetup

Other Decks in Programming

Transcript

  1. 1
    Евгений Ильин
    Создание desktop-приложений
    на Python

    View Slide

  2. 2
    План доклада
    1. OutWiker. Пример desktop-приложения на Python.
    2. Создание графического интерфейса.
    3. Сборка.
    4. Используемые библиотеки.

    View Slide

  3. 3
    OutWiker
    Пример desktop-приложения
    на Python

    View Slide

  4. 4
    Внешний вид OutWiker.
    Режим просмотра

    View Slide

  5. 5
    Внешний вид OutWiker.
    Режим викинотации

    View Slide

  6. 6
    Особенности OutWiker

    Каждая заметка — это папка в файловой системе.

    Возможность прикреплять файлы к заметкам.

    Расширение возможностей с помощью плагинов.

    Использование викинотации, HTML или Markdown.

    Проверка орфографии одновременно для нескольких языков.

    Поддержка тем оформления страниц.

    Кроссплатформенность (Windows, Linux).

    Многоязычность.

    Полностью написан на Python.

    ...

    View Slide

  7. 7
    Особенности OutWiker.
    Стили, раскраска исходников и формулы

    View Slide

  8. 8
    Почему Python?

    Хорошая переносимость между платформами.

    Легкость создания движка для плагинов.

    Легкость расширения API для плагинов.

    View Slide

  9. 9
    Создание графического
    интерфейса

    View Slide

  10. 10
    Библиотеки для создания
    пользовательского интерфейса
    Tkinter
    (Tcl/Tk)
    wxPython
    (wxWidgets)
    PyGTK
    (GTK+)
    PyQt, PySide, PySide2
    (Qt)

    View Slide

  11. 11
    Преимущества wxPython
    • «Родной» внешний вид приложений в разных
    операционных системах.
    • Сравнительно небольшой размер.
    • Большое количество встроенных компонентов.
    • Легко создаются запускаемые файлы с
    помощью cx_Freeze или аналогов.

    View Slide

  12. 12
    wxPython.
    Примеры из документации

    View Slide

  13. 13
    wxPython.
    Примеры из документации

    View Slide

  14. 14
    wxPython.
    Примеры из документации

    View Slide

  15. 15
    Недостатки wxPython
    • Медленное (но не прекращающееся) развитие.
    • Версия с поддержкой Python 3.x находится в
    стадии альфа-версии.
    • Нет в PyPi.
    • В репозиториях Ubuntu чехарда с версиями.
    • Нет нормального визуального редактора
    интерфейсов.

    View Slide

  16. 16
    wxGlade.
    Редактор интерфейса
    http://wxglade.sourceforge.net/

    View Slide

  17. 17
    wxGlade.
    Редактор интерфейса
    http://wxglade.sourceforge.net/

    Последняя версия от 5 марта 2016.

    Исходники в репозитории активно обновляются.

    View Slide

  18. 18
    wxFormBuilder.
    Редактор интерфейса

    View Slide

  19. 19
    wxFormBuilder.
    Редактор интерфейса
    https://github.com/wxFormBuilder/wxFormBuilder

    Последняя бета-версия от 6 июня 2014 г.

    Исходники в репозитории активно обновляются.

    View Slide

  20. 20
    OutWiker

    View Slide

  21. 21
    Сборка

    View Slide

  22. 22
    Создание приложений для
    пользователей
    cx_Freeze / pyInstaller / py2exe

    View Slide

  23. 23
    Файлы скомпилированного
    приложения

    View Slide

  24. 24
    Файлы внутри library.zip

    View Slide

  25. 25
    Сравнение библиотек для сборки
    Библиотека Поддерживаемые
    версии Python
    Дата последней
    версии
    cx_Freeze 2.7 — 3.6 20.05.2017
    pyInstaller 2.7 — 3.5 15.01.2017
    py2exe 2.7 — 3.4 21.10.2014

    View Slide

  26. 31
    Другие используемые
    в OutWiker библиотеки

    View Slide

  27. 32
    Другие используемые
    в OutWiker библиотеки
    pyparsing — создание парсера викинотации.
    http://pyparsing.wikispaces.com/

    View Slide

  28. 33
    Другие используемые
    в OutWiker библиотеки
    pyenchant — проверка орфографии.
    http://pythonhosted.org/pyenchant/

    View Slide

  29. 34
    Другие используемые
    в OutWiker библиотеки
    pillow — работа с изображениями.

    View Slide

  30. 35
    Другие используемые
    в OutWiker библиотеки
    comtypes — создание COM-объектов для
    использования движка IE под Windows.

    View Slide

  31. 36
    Другие используемые
    в OutWiker библиотеки
    chardet — определение кодировки текста.

    View Slide

  32. 37
    Другие используемые
    в OutWiker библиотеки
    beautifulsoup — парсер HTML.
    https://www.crummy.com/software/BeautifulSoup

    View Slide

  33. 38
    Другие используемые
    в OutWiker библиотеки
    pygments — раскраска исходников.
    http://pygments.org/

    View Slide

  34. 39
    Другие используемые
    в OutWiker библиотеки
    jinja2 — создание шаблонного текста.
    http://jinja.pocoo.org/

    View Slide

  35. 42
    Контакты и ссылки
    E-mail: [email protected]
    Сайт: http://jenyay.net
    Github: https://github.com/Jenyay
    OutWiker
    Страница программы: http://jenyay.net/Soft/Outwiker
    Бета-версии: http://jenyay.net/Outwiker/Unstable
    Исходники: https://github.com/Jenyay/outwiker
    Документация: https://outwiker.readthedocs.io

    View Slide

  36. 43
    Спасибо за внимание!

    View Slide