mafulechka
mafulechka8. Juni 2020 03:58

Qt für Python 5.15.0 wurde veröffentlicht!

Qt freut sich, Qt für Python 5.15.0! anzukündigen 🎊🐍

Sie können die neueste Version erhalten mit: pip install pyside2 oder aktualisieren Sie einfach Ihre aktuelle Installation: pip install -U pyside2.

Gleichzeitig wollten die Qt-Entwickler eine weitere Version für Benutzer veröffentlichen, die noch 5.14 verwenden, und entschieden sich daher für die Veröffentlichung von 5.14.2.2. Sie können es auch über pip install pyside2==5.14.2.2 erhalten.


Die Qt-Entwickler verbrachten die meiste Zeit damit, das alte Problem mit Threads und Python zu beheben, aber sie hatten noch Zeit, an anderen Verbesserungen zu arbeiten, die Sie im Änderungsprotokoll nachlesen können. Lassen Sie uns nun ein wenig über diese Veröffentlichung sprechen.

Streams in PySide

Vor langer Zeit, noch vor der offiziellen Veröffentlichung, hatten die Qt-Entwickler einen Fehlerbericht, der auf ein Problem beim Starten von Threads in einer PySide-Anwendung hinwies. Sie verstanden, dass dies angegangen werden musste, aber sie hatten nie erwartet, dass dies einen völlig neuen Ansatz für die Interaktion mit dem Python Global Interpreter Lock (GIL) erfordern würde.

Nachdem sie viel Zeit damit verbracht hatten, dies herauszufinden, und verschiedene Ansätze gemischt hatten, mit denen das Team versuchte, das Problem zu lösen, fanden sie schließlich die richtige Lösung.
Kurz gesagt, die Lösung wurde gefunden mit:

• Ein Caching-Mechanismus, um die GIL-Zuordnung zu vermeiden, wenn Methoden nicht mit einer Python-Funktion überschrieben werden.
• Verringerung der Verwendung von Py_BEGIN_ALLOW_THREAD und Py_BEGIN_ALLOW_THREAD,
• Threads standardmäßig nicht in allen Methoden zulassen, sondern nur wenn nötig.

Sie können hier mehr über dieses Abenteuer lesen: PYSIDE-803, aber abschließend freuen wir uns, Ihnen mitteilen zu können, dass die Streaming-Reaktivität stark verbessert wurde!

Damit war die Geschichte aber noch nicht zu Ende, da Qt-Entwickler bei diesem strengen Ansatz in vielen „Edge Cases“ (ein Edge Case bezieht sich auf ein Problem oder eine Situation, die nur außerhalb der normalen Betriebsparameter auftritt) besonders vorsichtig sein mussten davon ist PYSIDE -813, aus dem die Entwickler erfuhren, dass die CPython-Funktion PyDict_GetItem mit dem Thread-Status arbeitet, um globale Fehlervariablen zu unterstützen, aber noch wichtiger ist, dass sie eine Race-Bedingung fanden, die im Signalmanager aufgetreten ist.

Diese Korrekturen befanden sich in 5.14, weshalb Qt die neuesten Entdeckungen und Korrekturen in zwei neue Versionen zusätzlich zu 5.14.2 aufnehmen wollte.

Kommerzielles Angebot

Wenn die Qt-Entwickler nicht damit beschäftigt waren, die GIL- und Threading-Probleme in PySide herauszufinden, verbrachten sie viel Zeit damit, Anfragen von Qt-Clients zuzuhören, die einige Module von Qt zur Automatisierung mit Python verwenden wollten. Daher freut sich die Firma Qt bekannt zu geben, dass 5.15.0 die erste Version von Qt für Python mit kommerziellen Ergänzungen ist:

• Qt-CoAP,
• Qt MQTT und
• Qt-OPC-UA.

Kommerzielle Kunden erhalten Python-Pakete (Räder) nicht von PyPi , mit dem Sie einfach pip install pyside2 eingeben können, sondern von einem internen Download-Link. Nachdem die Pakete heruntergeladen wurden, können Sie die Dateien installieren, indem Sie die folgenden Befehle ausführen:

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

Bitte beachten Sie, dass Shiboken Generator, ein Bindungstool, nicht enthalten ist, da die Installation zusätzliche Schritte erfordert.

Community-Einladung

Es gibt viele Möglichkeiten, grafische Benutzeroberflächen mit Python zu erstellen, aber Qt sieht einen deutlichen Anstieg der Benutzerbasis, sodass sie fest davon überzeugt sind, dass dies der wichtigste Teil des Projekts ist.

Die Firma Qt nahm am Hacktoberfest in Berlin teil, wo Menschen beschlossen, den Qt-Entwicklern bei der Portierung einiger Beispiele von C++ nach Python zu helfen. Dafür ist die Firma Qt sehr dankbar.

KDAB hat als Partner der Firma Qt auch zu Qt for Python beigetragen, sodass die Qt-Entwickler das Modul durch Interaktion mit ihnen verbessern konnten.

Wenn Benutzer mit Beiträgen beginnen möchten, versucht Qt, ihnen durch seine verschiedenen Kommunikationskanäle zu helfen. Beispielsweise hat das Unternehmen jetzt Zugriff auf QtSerialPort in PySide, dank Andreas, einem externen Mitarbeiter, der das Modul benötigte und sich entschied, es zum Projekt beizutragen.

Last but not least möchte die Firma Qt ihren Mitwirkenden danken, die anderen Benutzern auf der Mailingliste, IRC, Matrix, Gitter, Keybase und Telegram aktiv helfen.

Was weiter?

Qt hat Qt 5.15 mit Blick auf Qt6 entwickelt und versucht, sich darauf zu konzentrieren, wie der aktuelle Zustand des Moduls verbessert werden kann.
Dokumentation: C++-Codeschnipsel, fehlende Beispiele, Argumentfehler usw. sind häufige Probleme, auf die die Qt-Entwickler in der Community gestoßen sind, und sie versuchen nach und nach, die aktuelle Situation zu verbessern. Das Unternehmen bereitet jedoch Leitfäden vor, die den Menschen helfen sollen, den aktuellen Stand der Dokumente zu verbessern.

Beispiele und Tutorials: Nach der Qt Virtual Tech Con 2020 fragten viele Leute nach mehr Beispielen und der Möglichkeit, längere Sitzungen durchzuführen, um die beliebtesten Fälle zu beschreiben. Zu diesem Zweck plant Qt neue Veranstaltungen und Materialien zum Mischen von C++ und Python und vieles mehr.

Shiboken: Neben der großen Nachfrage nach Tutorials und anderen Beispielen konzentriert sich das Unternehmen darauf, das aktuelle Verhalten in Bezug auf Qt6 zu korrigieren. Haben bereits mit dem "Hausputzen" in ihrem Bindungsgenerator-Tool begonnen. Die Qt-Entwickler würden gerne von Ihnen hören, was fehlt. Was brauchen Sie im Zusammenhang mit Shiboken?

PySide: Die Erweiterung des kommerziellen Angebots gibt Qt die Möglichkeit, Feedback von seinen Kunden zu erhalten, die verschiedene kommerzielle Anwendungsszenarien verwenden werden, wodurch neue Anwendungsfälle auf den Tisch kommen, anhand derer Entwickler das Modul verbessern können.

Hallo an alle OSS-Projekte, die auf PySide basieren, Qt stand in direktem Kontakt mit ihnen, um Fehler zu priorisieren und neue modulspezifische Funktionen hinzuzufügen.

Qt tut sein Bestes, um seinen Benutzern alle Funktionen von Qt6 (beschrieben in PYSIDE-904) zur Verfügung zu stellen, aber Entwickler würden sich noch mehr freuen zu hören, was Ihrer Meinung nach benötigt wird oder fehlt.

Рекомендуємо хостинг TIMEWEB
Рекомендуємо хостинг TIMEWEB
Stabiles Hosting des sozialen Netzwerks EVILEG. Wir empfehlen VDS-Hosting für Django-Projekte.

Magst du es? In sozialen Netzwerken teilen!

Kommentare

Nur autorisierte Benutzer können Kommentare posten.
Bitte Anmelden oder Registrieren
Letzte Kommentare
ИМ
Игорь Максимов5. Oktober 2024 07:51
Django – Lektion 064. So schreiben Sie eine Python-Markdown-Erweiterung Приветствую Евгений! У меня вопрос. Можно ли вставлять свои классы в разметку редактора markdown? Допустим имея стандартную разметку: <ul> <li></li> <li></l…
d
dblas55. Juli 2024 11:02
QML - Lektion 016. SQLite-Datenbank und das Arbeiten damit in QML Qt Здравствуйте, возникает такая проблема (я новичок): ApplicationWindow неизвестный элемент. (М300) для TextField и Button аналогично. Могу предположить, что из-за более новой верси…
k
kmssr8. Februar 2024 18:43
Qt Linux - Lektion 001. Autorun Qt-Anwendung unter Linux как сделать автозапуск для флэтпака, который не даёт создавать файлы в ~/.config - вот это вопрос ))
Qt WinAPI - Lektion 007. Arbeiten mit ICMP-Ping in Qt Без строки #include <QRegularExpressionValidator> в заголовочном файле не работает валидатор.
EVA
EVA25. Dezember 2023 10:30
Boost - statisches Verknüpfen im CMake-Projekt unter Windows Ошибка LNK1104 часто возникает, когда компоновщик не может найти или открыть файл библиотеки. В вашем случае, это файл libboost_locale-vc142-mt-gd-x64-1_74.lib из библиотеки Boost для C+…
Jetzt im Forum diskutieren
J
JacobFib17. Oktober 2024 03:27
добавить qlineseries в функции Пользователь может получить любые разъяснения по интересующим вопросам, касающимся обработки его персональных данных, обратившись к Оператору с помощью электронной почты https://topdecorpro.ru…
JW
Jhon Wick1. Oktober 2024 15:52
Indian Food Restaurant In Columbus OH| Layla’s Kitchen Indian Restaurant If you're looking for a truly authentic https://www.laylaskitchenrestaurantohio.com/ , Layla’s Kitchen Indian Restaurant is your go-to destination. Located at 6152 Cleveland Ave, Colu…
КГ
Кирилл Гусарев27. September 2024 09:09
Не запускается программа на Qt: точка входа в процедуру не найдена в библиотеке DLL Написал программу на C++ Qt в Qt Creator, сбилдил Release с помощью MinGW 64-bit, бинарнику напихал dll-ки с помощью windeployqt.exe. При попытке запуска моей сбилженной программы выдаёт три оши…
F
Fynjy22. Juli 2024 04:15
при создании qml проекта Kits есть но недоступны для выбора Поставил Qt Creator 11.0.2. Qt 6.4.3 При создании проекта Qml не могу выбрать Kits, они все недоступны, хотя настроены и при создании обычного Qt Widget приложения их можно выбрать. В чем может …

Folgen Sie uns in sozialen Netzwerken