mafulechka
mafulechka08 червня 2020 р. 03:58

Випущено 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.


Розробники 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 функція 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), але розробники були б ще щасливішими почути, що, на вашу думку, необхідно чи відсутнє.

Рекомендуємо хостинг TIMEWEB
Рекомендуємо хостинг TIMEWEB
Стабільний хостинг, на якому розміщується соціальна мережа EVILEG. Для проектів на Django радимо VDS хостинг.

Вам це подобається? Поділіться в соціальних мережах!

Коментарі

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

Qt - Тест 001. Сигналы и слоты

  • Результат:84бали,
  • Рейтинг балів4
Ua

Qt - Тест 001. Сигналы и слоты

  • Результат:42бали,
  • Рейтинг балів-8
ОК

Qt - Тест 001. Сигналы и слоты

  • Результат:47бали,
  • Рейтинг балів-6
Останні коментарі
ИМ
Игорь Максимов22 листопада 2024 р. 11:51
Django - Підручник 017. Налаштуйте сторінку входу до Django Добрый вечер Евгений! Я сделал себе авторизацию аналогичную вашей, все работает, кроме возврата к предидущей странице. Редеректит всегда на главную, хотя в логах сервера вижу запросы на правильн…
Evgenii Legotckoi
Evgenii Legotckoi31 жовтня 2024 р. 14:37
Django - Урок 064. Як написати розширення для Python Markdown Добрый день. Да, можно. Либо через такие же плагины, либо с постобработкой через python библиотеку Beautiful Soup
A
ALO1ZE19 жовтня 2024 р. 08:19
Читалка файлів fb3 на Qt Creator Подскажите как это запустить? Я не шарю в программировании и кодинге. Скачал и установаил Qt, но куча ошибок выдается и не запустить. А очень надо fb3 переконвертировать в html
ИМ
Игорь Максимов05 жовтня 2024 р. 07:51
Django - Урок 064. Як написати розширення для Python Markdown Приветствую Евгений! У меня вопрос. Можно ли вставлять свои классы в разметку редактора markdown? Допустим имея стандартную разметку: <ul> <li></li> <li></l…
d
dblas505 липня 2024 р. 11:02
QML - Урок 016. База даних SQLite та робота з нею в QML Qt Здравствуйте, возникает такая проблема (я новичок): ApplicationWindow неизвестный элемент. (М300) для TextField и Button аналогично. Могу предположить, что из-за более новой верси…
Тепер обговоріть на форумі
Дмитрий
Дмитрий03 лютого 2025 р. 06:24
Создание deb-пакета. Как создать ярлык на рабочем столе после установки собственного deb-пакета? Всем привет. Сделал свой deb-пакет с программой. Всё устанавливается и работает. Ставлю по пути /usr/bin/my_application. Как для пользователя при установке пакета сразу создать ярлык на раб…
NW
Nayo Wai30 січня 2025 р. 09:22
не запускается компьютер!!! Не запускается компьютер (точнее работает блок , но сам монитор вообще жесть)В общем я ничего с интернета не скачивала в последнее время. На компе никаких левых пр…
n
nkly03 січня 2025 р. 02:52
Нужно запретить перемещение только некоторых итемов, остальные перемещать можно. Вопрос решен. Узнать QModelIndex элемента на который мы перетаскиваем другой элемент, можно с помощью функции indexAt(event->position().toPoint()) представления QTreeViev вызываемой в переопр…
M
Marsel16 серпня 2023 р. 14:26
OAuth2.0 через VK, получение email Спасибо большое за помощь и простите за то что отнял время своей невнимательностью.
Evgenii Legotckoi
Evgenii Legotckoi24 червня 2024 р. 15:11
добавить qlineseries в функции Я тут. Работы оень много. Отправил его в бан.

Слідкуйте за нами в соціальних мережах