Jump to content

Qt for Python/ru

From Qt Wiki
Revision as of 21:32, 7 May 2020 by Vdqt (talk | contribs) (Created page with "Category:Qt for Python {{LangSwitch}} == Qt for Python == thumb|left|Официальный логотип Qt for Python. Цель проекта '''[h...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

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/", таким образом все имена страниц Вики будут иметь одинаковую структуру и навигационные цепочки сгенерируются для облегчения навигации.