mafulechkaJune 8, 2020, 3:58 a.m.

Выпущен Qt для Python 5.15.0!

Компания Qt рада объявить о выходе Qt для Python 5.15.0! 🎊🐍

Вы можете получить последнюю версию с помощью: pip install pyside2 или просто обновив текущую установку: pip install -U pyside2.

В то же время разработчики Qt хотели выпустить еще одну версию для пользователей, которые все еще используют 5.14, поэтому решили выпустить 5.14.2.2. Вы также можете получить его через pip install pyside2==5.14.2.2.

ADS

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

Потоки в PySide

Давным-давно, еще до официального выпуска, у разработчиков Qt был отчет об ошибке, указывающий на проблему при запуске Threads в приложении PySide. Они понимали, что это нужно решить, но никогда не ожидали, что это потребует совершенно нового подхода к взаимодействию с Python Global Interpreter Lock (GIL).

Потратив много времени, в попытке это выясненить, и, смешав разные подходы, которыми команда пыталась решить проблему, в итоге нашли правильное решение.
В двух словах, решение было найдено с помощью:

• Механизма кэширования, позволяющего избежать выделения GIL, когда у методов нет переопределения с помощью функции Python.
• уменьшения использования Py_BEGIN_ALLOW_THREAD и Py_BEGIN_ALLOW_THREAD,
• Не разрешать потоки по умолчанию во всех методах, но только при необходимости.

Вы можете прочитать больше об этом приключении здесь: PYSIDE-803, но в заключение, мы рады сообщить вам, что реактивность в потоке была значительно улучшена!

На этом история не закончилась, так как теперь с этим строгим подходом разработчикам Qt нужно было проявлять особую осторожность во многих «крайних случаях» (крайний случай связан с проблемой или ситуацией, которая возникает только за пределами нормальных рабочих параметров), одним из которых является PYSIDE-813, из которого разработчики узнали, что CPython function PyDict_GetItem работает с состоянием потока, чтобы поддерживать переменные глобальных ошибок, но что более важно, нашли состояние гонки, которое произошло в диспетчере сигналов.

Эти исправления были в 5.14, и именно поэтому компания Qt хотела включить последние открытия и исправления в две новые версии поверх 5.14.2.

Коммерческое предложение

Когда разработчики Qt не были заняты выяснением проблем GIL и Threading в PySide, они уделили много времени прослушиванию запросов от клиентов Qt, которые хотели использовать некоторые модули из Qt для автоматизации с Python. Поэтому компания Qt рада объявить, что 5.15.0 - это первая версия Qt для Python с коммерческими дополнениями:

• Qt CoAP,
• Qt MQTT и
• Qt OPC UA.

Коммерческие клиенты будут получать Python Packages (wheels) не от PyPi , что позволяет вам просто набрать pip install pyside2, а по внутренней ссылке для скачивания. После загрузки пакетов (packages) можно будет установить файлы, выполнив следующие команды:

pip install shiboken2-5.15.0.commercial-5.15.0-cp35.cp36.cp37.cp38-none-win_amd64.whl
pip install PySide2-5.15.0.commercial-5.15.0-cp35.cp36.cp37.cp38-none-win_amd64.whl

Помните, что сюда не входит Shiboken Generator, инструмент создания привязок, поскольку для установки требуются дополнительные шаги.

Приглашение сообщества

Существует множество способов создания графических пользовательских интерфейсов (Graphical User Interfaces) с использованием Python, но компания Qt видит значительный прирост пользовательской базы, поэтому твердо верит, что это самая важная часть проекта.

Компания Qt присоединились к мероприятию Hacktoberfest в Берлине, где люди решили помочь разработчикам Qt перенести пару примеров с C++ на Python. Компания Qt очень благодарны за это.

KDAB являясь партнером компании Qt также внес свой вклад в Qt для Python, поэтому разработчикам Qt удалось улучшить модуль благодаря взаимодействию с ними.

Когда пользователи хотят начать с вкладов, компания Qt старается помочь им по своим различных каналах связи. В качестве примера, теперь у компании есть доступ к QtSerialPort в PySide, благодаря Андреасу, внешнему участнику, который нуждался в модуле, и решил внести его в проект.

И последнее, но не менее важное: компания Qt хотчет поблагодарить своих участников, которые активно помогают другим пользователям в Mailing list, IRC, Matrix, Gitter, Keybase и Telegram.

Что дальше?

Компания Qt разработала Qt 5.15 с учетом Qt6, и пытается сосредоточиться на том, как улучшить текущее состояние модуля.
Документация: фрагменты кода C++, отсутствующие примеры, ошибки аргументов и т. д. - вот общие проблемы, с которыми разработчики Qt столкнулись в сообществе, и они постепенно пытаются улучшить текущую ситуацию. Но компания готовит руководства для людей, которые помогут им улучшить текущее состояние документов.

Примеры и учебные пособия: после Qt Virtual Tech Con 2020 многие начали спрашивать больше примеров и возможность проводить более длительные занятия для описания наиболее популярных случаев. Для этого компания Qt планирует новые события и материалы, связанные с тем, как смешивать C++ и Python, и многое другое.

Shiboken: Помимо высокого спроса на учебники и другие примеры, компания концентрирует свои усилия на корректировке текущего поведения в отношении Qt6. Уже начали делать «уборку дома» в своем инструменте генератора привязок. Разработчики Qt хотели бы услышать от вас, чего не хватает. Что вам нужно, связанное с Shiboken?

PySide: Улучшение коммерческого предложения даст компании Qt возможность получать отзывы от своих клиентов, которые будут использовать различные сценарии коммерческих приложений, что принесет на стол новые варианты использования, из которых разработчики смогут улучшить модуль.

Привет всем проектам OSS, основанным на PySide, у компании Qt был прямой контакт с ними, чтобы расставить приоритеты по ошибкам и добавить новые специальные функции для модуля.

Компания Qt делает все возможное, чтобы донести до своих пользователей все возможности Qt6 (описанные в PYSIDE-904), но разработчики были бы еще счастливее услышать, что, по-вашему мнению, необходимо или отсутствует.

We recommend hosting TIMEWEB
We recommend hosting TIMEWEB
Stable hosting, on which the social network EVILEG is located. For projects on Django we recommend VDS hosting.
Support the author Donate

Comments

Only authorized users can post comments.
Please, Log in or Sign up
Timeweb

Let me recommend you the excellent hosting on which EVILEG is located.

For many years, Timeweb has been proving his stability.

For projects on Django I recommend VDS hosting

View Hosting
y

C ++ - Test 004. Pointers, Arrays and Loops

  • Result:50points,
  • Rating points-4
n

C++ - Test 005. Structures and Classes

  • Result:41points,
  • Rating points-8
s

C++ - Тест 003. Условия и циклы

  • Result:42points,
  • Rating points-8
Popular publications in the last 90 Days
Last comments
f
  • fryn3
  • Oct. 21, 2021, 5:24 a.m.

QML - Tutorial 038. Using the clip property to crop child objects inside Item or Rectangle

Зачем внутри OpacityMask Item, почему сразу Rectangle не вставить? И что за rect.adapt? Мое предложение: layer.enabled: true layer.effect: OpacityMask { …
s

Qt/C++ - Lesson 060. Configuring the appearance of the application in runtime

Добрый вечер, на "лету" не работает, только перезапуск
s

Qt/C++ - Lesson 060. Configuring the appearance of the application in runtime

Спасибо, завтра опробую и отпишусь по результату

Django - Tutorial 007. Adding Pagination based on django-bootstrap3

Просто список каких-нибудь объектов передавайте, который дёрнули ищ api стороннего сервера from django.core.paginator import Paginatorobjects = ['john', 'paul', 'george', 'ringo']p = Pagina…
b

PyQt5 - Tutorial 009. Using QThread with MoveToThread

Спасибо большое
Now discuss on the forum
  • grig_p
  • Oct. 21, 2021, 8:33 a.m.

Применение стилей *.qss к собственным виджетам.

Здравствуйте! Я бы хотел в виджете использовать некоторые свои свойства для его элементов. Задаю в коде виджета так: Q_PROPERTY(QColor sig1_color READ sig1Color WRITE setSig1Col…
j
  • juvf
  • Oct. 21, 2021, 7:31 a.m.

Qt Quick Virtual Keyboard

В QtCreator есть пример на QML с виртуальной клавиатурой "Qt Quick Virtual Keyboard - Basic Example". Собрал, работает. Собрал свой хеловорд свою программу состоящую из главного окна …

QScrollArea dynamically add QCheckBoxes

Всё правильно. Это просто спамер, который отправился в вечный бан.
  • Nomad
  • Oct. 15, 2021, 6:39 a.m.

Вопрос из раздела "как реализовать"

Всем привет. Есть бизнес логика которую надо реализовать на джанге, она состоит в следующем: надо реализовать функционал регистрации/авторизации компаний у которого есть свой дашборд …

Проблема с созданием файлов перевода для составного проекта

Я имею ввиду, если у вас был старые ts файлы, то написать парсер, который составил бы словарь переводов. Например. "Hello world" - "Привет мир" "Hello dev" - "Привет dev" и…
About
Services
© EVILEG 2015-2021
Recommend hosting TIMEWEB