Gui для python какой выбрать
Перейти к содержимому

Gui для python какой выбрать

  • автор:

Лучшие GUI библиотеки Python 2020

Будучи Python-разработчиком, вы должны знать топ-5 GUI библиотек, который помогут добавить графический интерфейс в приложение.

Что такое GUI?

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

GUI-фреймворки легко доступны — они бесплатны и имеют открытый исходный код. В Python есть широкий спектр вариантов: от кроссплатформенных до заточенных под конкретную платформу.

Kyvi

Лучшие GUI библиотеки Python 2020

Kyvi — это бесплатная библиотека Python с открытым исходным кодом. Она используется для разработки мобильных приложений и других приложений широкого назначения с естественным пользовательским интерфейсом. Распространяется по лицензии MIT и может работать на:

PyQT

Лучшие GUI библиотеки Python 2020

PyQT — одна из самых любимых кроссплатформенных Python-библиотек, реализующих библиотеку Qt (принадлежит Nokia) из одноименного фреймворка для разработки приложений. Сейчас PyQT доступна на Unix/Linux, Windows, macOS и Sharp Zaurus. Она объединяет лучшее из Python и Qt. И только разработчик решает, как создавать программу: с помощью кода или Qt Designer для дизайна визуальных элементов.

PyQT доступна как по коммерческой, так и по лицензии GPL. Хотя некоторые функции и недоступны в бесплатной версии, если приложение имеет открытый исходный код, ее можно свободно использовать.

Tkinter

Лучшие GUI библиотеки Python 2020

Tkinter — связка Python с набором GUI-инструментов Tk. Это стандартный интерфейс-Python. Он доступен на Linux, Windows и macOS с установленными Python. Имя Tkinter происходит от Tk interface.

PySide

Лучшие GUI библиотеки Python 2020

PySide — это библиотека с открытым исходным кодом, которая также предлагается связь с Qt. Qt – это кроссплатформенные приложение и UI-фреймворк, которые позволяют разработчикам писать и разворачивать приложения на разных ОС без переписывания исходного кода.

Объединяя возможности Qt и Python, PySide предоставляет богатство фреймворка Qt для разработчиков, которые пишут ПО на Python и представляет первоклассную платформу для разработчиков на всех основных системах.

WxPython

Лучшие GUI библиотеки Python 2020

WxPython — это смесь из библиотеки классов WxWidgets (ранее — WxWindows) для C++ и Python. Ее можно найти здесь: https://www.wxpython.org/. А вот ее Wiki: https://wiki.wxpython.org/.

Выводы

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

  • ТЕГИ
  • графический интерфейс (GUI)

Что выбрать для написания GUI в 2021.

Что лучше выбрать для написания десктопного GUI приложения в 2021 году.

Нужно написать кросплатфоменный интерфейс.

Там должны быть дерево, таблицы (большие, сортировки, группировки, …), формы. Хочется не писать их самостоятельно.

  • C# (WinForms или Avalonia, Gtk), поскольку на c# писал мало, и есть ощущения, что скорость разработки не очень высокая. Сходу полноценных таблиц и деревьев вообще не нашел.
  • Python (PySide6), посмотрел по gui на python. Варианты по сути:
    • PyQt(PySide) 6 версия уже достаточно стабильна ? Документации навскидку не очень много нашел.
    • wxWidgets есть ощущение, что менее мощный. (тут смущает, что будет медленнее C# и опять же GIL).

    В C++ лезть не хочется, так как давно на нем не писал, и есть ощущение, что на нем разработка будет еще медленнее чем на C#.

    Предварительно кажется, что python будет компромисным вариантом.

    Разработчик пока всего один, и не хочется надолго увязать в написании GUI, так как есть и другие задачи.

    У кого какие соображения по данному вопросу ?

    ol1mp ★
    13.07.21 20:14:13 MSK
    1 2 3 →

    Сам спросил — сам ответил. Уносите.

    anonymous
    ( 13.07.21 20:18:29 MSK )

    wxWidgets написаны на c++, сами виджеты не тормозят. GIL при правильной многопоточности (у wxPython свои расширения для этого) ты вообще не заметишь.

    Посмотри ещё таблицы на TkInter — там есть ОЧЕНЬ навороченные решения, и всё буквально летает (для web ui до таких таблиц как до луны раком), в wx таблицы в комплекте хорошие, но для Tk сторонние решения.

    Я для просмотра гигантских pandas таблиц вот это использую:
    https://pandastable.readthedocs.io/en/latest/examples.html — там для таблицы виртуальный буфер, она вообще ракета.

    Думаю, если для группировки/сортировки возьмёшь pandas/numpy и грамотно запроектируешь ui (с буфером), то на python можно будет сделать очень быстрое приложение.

    Для QT и wx есть визуальные форморисовальщики.

    Shadow ★★★★★
    ( 13.07.21 20:19:28 MSK )
    Последнее исправление: Shadow 13.07.21 20:25:32 MSK (всего исправлений: 3)

    Python GUI . Что выбрать новичку? [закрыт]

    Закрыт. На этот вопрос невозможно дать объективный ответ. Ответы на него в данный момент не принимаются.

    Хотите улучшить этот вопрос? Переформулируйте вопрос так, чтобы на него можно было дать ответ, основанный на фактах и цитатах.

    Закрыт 5 лет назад .

    Какой GUI фреймворк для Python выбрать новичку для создания приложений под windows ? Или же лучше начать с изучения стандартной библиотеки Tkinter?

    Отслеживать
    задан 12 сен 2018 в 16:39
    Aleksei Grabor Aleksei Grabor
    383 7 7 серебряных знаков 22 22 бронзовых знака

    1 ответ 1

    Сортировка: Сброс на вариант по умолчанию

    PyQt5

    PyQt5 довольно неплохое решение, может показаться сложным сначала, но потом, весьма логичным. В комплекте идёт QtDesigner — программа для создания графический окон.

    Отслеживать
    ответ дан 12 сен 2018 в 16:47
    551 2 2 серебряных знака 12 12 бронзовых знаков

    Подскажите еще кое-что. Слышал , что новичкам не следует браться за фреймворки, а изучать основы, принципы, и т.д. . Так ли это?

    12 сен 2018 в 16:53

    Изучать основы и принципы. Если у Вас некоторые трудности в понимании базы, с фреймворками пока повремените. Ткинтер, вообще, внимания новичка не стоит, как и Делфи, потому, что устарели. Просто сравните интерфейсы на ткинтере и qt. Конечно, это лишь моё мнение и Вам выбирать, прислушаться или нет.

    12 сен 2018 в 17:13

    @Евгений, вот не соглашусь по поводу Tkinter. На нем можно реализовывать вполне достойные интерфейсы, и не нужно тянуть с собой (если говорить про Windows) огромный Qt ради формочки с десятком элементов управления.

    12 сен 2018 в 18:23

    @AlekseiGrabor, для новичка главное пробовать. Если интересует веб — берите фреймворки. Если интересует десктоп — берите разные GUI библиотеки, пробуйте, разбирайтесь, смотрите минусы и плюсы. Параллельно (не до и не вместо вышеперечисленного) изучайте основы, алгоритмы, структуры данных, хотя бы ознакомительно. Берите интересные для себя задачи и пробуйте решать их.

    12 сен 2018 в 18:25

    @insolor, может Вы и правы и я смотрю со стороны линуксоида. И моё мнение ткинтере слижком уж предвзятое из-за отсутсвия лёгкого способа группировки эл-тов и среды визуального программирования которая бы хотя бы приближена к возможностям QtCreator/Designer. Да, я знаю про python-quickui.

    13 GUI-библиотек Python

    Перевод статьи markdrozdov “13 Python GUI Libraries”.

    Python

    Python это высокоуровневый язык программирования, он используется как язык общего назначения. Этот язык был создан Гвидо ван Россумом и впервые выпущен в 1991 году. Философия проектирования Python фокусируется на читаемости кода. Для этой цели в языке используется значительное количество пробелов.

    Python предоставляет конструкции, позволяющие программировать к в малых, так и в больших масштабах. У этого языка очень большая стандартная библиотека. Он относится к языка с динамической типизацией. Также в нем есть автоматическое управление памятью.

    Python поддерживает множество парадигм программирования, включая:

    • объектно-ориентированную(ООП);
    • императивную;
    • функциональную;
    • процедурную.

    Графический интерфейс пользователя (GUI)

    GUI это человеко-компьютерный интерфейс. Другими словами, это способ, с помощью которого люди могут взаимодействовать с компьютерами.

    Он использует окна, значки, меню. Манипулировать GUI можно как с помощью мышки, так и с помощью клавиатуры.

    GUI-библиотека

    GUI-библиотека содержит виджеты. Виджеты это наборы графических элементов управления.

    При создании GUI программы обычно используется каскадный способ. Графические элементы управления добавляются поверх друг друга.

    Python GUI

    Когда вы пишете приложение с помощью Python, вам для этого понадобится использовать GUI.

    Существует много вариантов Python GUI. Есть больше 30 кросс-платформенных фреймворков для программирования GUI на Python. 13 из них перечислены и кратко охарактеризованы ниже. (Возможно, вам будут интересны и другие библиотеки Python, о которых мы писали ранее).

    1. Tkinter

    Tkinter это набор инструментов, который может формировать GUI с помощью Python. Он позволяет вам запускать сценарии на Python в GUI-формате. Ссылка ведет на страницу с руководством по Tkinter.

    2. Flexx

    Многие GUI-библиотеки Python основаны на библиотеках, написанных на других языках, таких как C ++. Например, wxWidgets и libavg. Flexx создана на Python. Для отображения GUI использует веб-технологию.

    3. CEF Python

    Этот фреймворк нацелен на Windows, MAC OS и Linux. Основан на Google Chromium. Основное внимание в нем уделяется облегчению использования встроенного браузера в сторонних приложениях.

    4. Dabo

    Цель этого фреймворка – WxPython. Это трехуровневый фреймворк для разработки кросс-платформенных приложений.

    5. Kivy

    Kivy основан на OpenGL ES 2. У него есть собственный multi-touch для каждой отдельной платформы. Это событийно-ориентированный фреймворк, который прекрасно подходит для разработки игр.

    6. Pyforms

    Pyforms это фреймворк Python 2.7/3.x для разных окружений, используемый для разработки GUI приложения. В нем поощряется повторное использование кода.

    7. PyGObject

    С помощью PyGObject вы можете писать на Python приложения для проекта GNOME. Также можно писать приложения на Python, использующие GTK+.

    8. PyQt

    Qt это кросс-платформенный фреймворк. Он написан на С++. Это очень полная библиотека, включающая много инструментов и API. Широко используется во многих отраслях. Охватывает множество платформ.

    9. PySide

    Обёртка для Qt. PySide и PyQt отличаются тем, что последний является коммерчески доступным.

    10. PyGUI

    PyGUI предназначен для платформ Unix, Macintosh и Windows. Фокус этого MVC-фреймворка заключается в том, чтобы вписываться в экосистему Python с максимальной легкостью.

    11. libavg

    Это сторонняя библиотека, написанная на С++. Обладает следующими особенностями:

    • показ элементов в форме переменных Python;
    • система управления событиями;
    • таймеры;
    • поддержка логов.

    12. PyGTK | PyGObject

    «GTK+», широко используемая в Linux, является «GTK + «обёртка из» PyGTK». По сравнению с Kivy и PyQt, PyGTK очень легок для платформ Unix, Macintosh, Windows.

    Этот MVC-фреймворк разработан Грегом Эвингом из университета Кентербери (Новая Зеландия). Его главный фокус – как можно более простая адаптация к экосистеме Python.

    13. wxPython

    Обертка кросс-платформенного GUI для Python на основе wxWidgets. Написана на С++.

    Заключение

    Приведенный выше список GUI-фреймворков покрывает большую часть нужд разработчика. Выбор зависит от ваших потребностей.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *