Qt wiki will be updated on October 12th 2023 starting at 11:30 AM (EEST) and the maintenance will last around 2-3 hours. During the maintenance the site will be unavailable.

Qt for Python/ru

From Qt Wiki
Jump to navigation Jump to search

En Ar Bg De El Es Fa Fi Fr Hi Hu It Ja Kn Ko Ms Nl Pl Pt Ru Sq Th Tr Uk Zh

Qt for Python

Официальный логотип Qt for Python.

Цель проекта Qt for Python - предоставить полный порт модуля PySide для Qt 5. Разработка началась на GitHub в мае 2015. Проект сумел портировать PySide для Qt 5.3, 5.4 и 5.5. В апреле 2016 года The Qt Company приняла решение о полной поддержке порта (см. подробности ).

Модуль был выпущен в середине июня 2018 года как Technical Preview (с поддержкой Qt 5.11), и в декабре 2018 года он был официально выпущен для Qt 5.12 без тега Technical Preview tag.

Эта вики-страница отслеживает прогресс разработки проекта Qt for Python и предоставляет сопутствующую дополнительную информацию.

Qt for Python доступен под лицензией LGPLv3/GPLv2 и commercial license для следующих платформ:

Linux macOS Windows
32bit 64bit 32bit 64bit 32bit 64bit
Python 2.7 * * ** **
Python 3.5+ * * *** ***

*: No Qt release.
**: Проблема MSVC с Python 2.7 и Qt.
***: 5.14 не будет работать на Windows с Python 3.8.0, пожалуйста, используйте Python 3.8.1 или выше.

Установите PySide2 через pip, запустив: pip install PySide2

Как это выглядит?

import sys
from PySide2.QtWidgets import QApplication, QLabel
                                                     
if __name__ == "__main__":
    app = QApplication(sys.argv)
    label = QLabel("Hello World")
    label.show()
    sys.exit(app.exec_())

Больше примеров можно найти в репозитории проекта внутри каталога examples.

Начало работы

Сообщество

Статус разработки

  • Development Notes by date: сводка прогресса разработки по датам.
  • Qt for Python Development Progress Notes самое актуальное представление прогресса можно найти в Jira: Нерешённые проблемы и Все проблемы (включая решённые). Вторая ссылка полезна для отслеживания прогресса Backlog. Лучший способ добиться этого - отсортировать список по столбцу "Обновлено". Более крупные элементы backlog/feature хранятся в виде "User Stories" в Jira.
  • Missing PySide2 bindings: список текущих отсутствующих привязок.

Вопросы и ответы (FAQ)

  • В: PySide? Qt for Python? как же это называется?
    • О: Название проекта - Qt for Python, а название модуля - PySide2.
  • В: Почему PySide2, а не просто PySide?
    • О: Поскольку PySide был разработан для Qt4, когда был сделан порт для поддержки Qt5, название было изменено на PySide2, чтобы подразумевать, что это более новая версия.
  • В: где я могу найти информацию о старом проекте PySide?
    • О: старая вики-страница проекта доступна на PySide, но проект устарел и нет никакой официальной поддержки для него. Мы настоятельно рекомендуем не использовать его.
  • В: мой проект использует PySide, насколько трудно было бы адаптировать его к PySide2?
    • О: изменения такие же , как между Qt4 и Qt5, и для пользователей PySide это в основном означает адаптирование импортов, так как многие классы были перемещены из QtGui в QtWidgets.
Qt 5 имеет высокую совместимость с Qt 4. Разработчики Qt 4 приложений могут легко перейти на Qt 5 с сохранением функциональности и постепенно разрабатывать новые вещи, используя все замечательные возможности, которые предоставляет Qt 5.
  • В: Поддерживает ли PySide2 разработку / развертывание на Android и iOS?
    • О: На данный момент поддержка мобильных платформ отсутствует. Этот вопрос будет рассматриваться в будущем.
  • В: Есть ли у PySide2 поддержка embedded Linux (Raspberry Pi, i.MX6 и так далее)?
    • О: Сейчас нет. Этот вопрос будет рассматриваться в будущем.
  • В: Здесь три wheels (pyside2, shiboken2, и shiboken2_generator) в чем разница между ними?
    • О: До официального релиза все было в одном большом wheel, но имело смысл разделить проекты на три разных wheels:
      • pyside2: содержит все модули PySide2 для всех библиотек Qt. Также зависит от модуля shiboken2.
      • shiboken2: содержит модуль shiboken2 с вспомогательными функциями для PySide2.
      • shiboken2_generator: содержит generator binary, который может работать с C++ проектом и системой типов для создания Python bindings. Учтите, что если вы хотите создать bindings для Qt/C++ проекта, связка с Qt shared libraries будет отсутствовать, и вам нужно будет сделать это вручную. Мы рекомендуем собрать PySide2 с нуля, чтобы все было правильно связано.
  • В: Почему shiboken2_generator не устанавливается автоматически?
    • О: Нет необходимости устанавливать его для использования PySide2. Пакет является результатом процесса разделения wheel. Для использования генератора рекомендуется собрать его с нуля, чтобы иметь правильную Qt-компоновку.

Внесение вклада в Qt for Python Wiki

Эта Wiki - место сообщества, где вы можете легко внести свой вклад, и которое может содержать быстро меняющуюся информацию. Пожалуйста, поместите любые вики-страницы, связанные с Qt for Python в категорию "QtForPython", добавив следующий текст в верхнюю часть страницы:

[[Category:Qt for Python]]

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