Перейти к основному содержимому

PyQt, PySide и Flet — GUI beyond Tkinter

Разработчику Архитектору

GUI beyond Tkinter

Tkinter хорош для обучения и простых утилит. Для профессионального десктопа чаще берут Qt (PyQt6 / PySide6) или Flet (Flutter-подход на Python).

Практика: Первая программа на PyQt6 · Tkinter — первая программа.


Сравнение

TkinterPyQt6 / PySide6Flet
В комплекте CPythonДаНет (pip install)Нет
Внешний видСистемный, устаревшийНативный / кастомный QtMaterial-подобный
СложностьНизкаяВысокаяСредняя
ЛицензияPSFPyQt — GPL/коммерч. · PySide — LGPLApache 2
МобильныеНетЧерез Qt Mobile (редко)Экспериментально

PyQt6 и PySide6

Обе обёртки над Qt 6 — один API, разные поставщики:

  • PyQt6 — Riverbank Computing;
  • PySide6 — официальная ветка Qt Company.
pip install PySide6
# или
pip install PyQt6

Типичная структура: QApplicationQMainWindow → виджеты (QPushButton, QLineEdit, QTableView).

Сильные стороны: таблицы, графики, мультимедиа, стили QSS, Designer (.ui файлы).


Flet

pip install flet

UI описывается на Python; рендер через Flutter:

import flet as ft

def main(page: ft.Page):
page.title = "Flet demo"
page.add(ft.Text("Привет, Flet!"), ft.ElevatedButton("OK"))

ft.app(target=main)

Подходит для внутренних админок и прототипов, когда важна современная вёрстка без изучения Qt.


Когда что выбрать

  • Учебный проект, одно окно → Tkinter.
  • Инженерное ПО, CAD-подобный UI, таблицы → PySide6/PyQt6.
  • Быстрый красивый прототип → Flet.
  • Уже есть веб-командаElectron или pywebview + Flask/FastAPI.

Связанные материалы


См. также

Другие статьи этого же раздела в боковом меню (как на странице «О разделе»).