Для тех кто пишет расширения на PyQt/PySide для CG-софтов.
Когда я только начинал писать тулзы под Maya (тогда еще версия 2010-2011) мне приходилось ручками ставить PyQt4 под Maya. Даже написал мануалы по установке на своём сайте. Но потом стал доступен из коробки PySide и позже он обновится до PySide2. Для некоторых систем была поддержка PyQt5.
И как простому разработчику поддерживать этот зоопарк? Ведь хочется чтобы тул работал на любой версии (вы тоже делали модуль что-то типа import_qt.py?😁)
На помощь приходит проект Qt.py который поставил себе цель унифицировать использование Qt-биндингов вне зависимости от среды где запускается код. Те, кто давно пишут на Qt, скорее всего знают этот проект.
Он стал стандартом для CG-индустрии и используется в топовых студиях и проектах.
Qt․py помогает запускать один и тот же код на разных платформах с разными вариантами Qt-библиотек. Это может быть как интеграция в CG-софт, так и переносимость стендалонов между разными платформами с разными версиями Python.
Я решил рассказать о некоторых особенностях работы с этой библиотекой.
Сегодня о том, как установить и использовать Qt․py и что это вам даёт.
Установка
pip install Qt.py
Чтобы начать использовать Qt․py в коде достаточно заменить импорт вашего варианта Qt-биндинга на Qt․py
from [PySide|PyQt4|PySide2|PyQt5] import QtWidgets
=>
from Qt import QtWidgets
Теперь ваш код будет поддерживать любой вариант биндинга Qt в Python.
При этом не потребуется использовать if-else конструкции под разные версии. Все вызовы теперь одинаковы.
Всё что нужно сделать, это написать его по правилам PySide2. Именно эта версия была взята за основу.
Приоритет импорта такой:
1. PySide2
2. PyQt5
3. PySide
4. PyQt4
Что именно загрузилось можно посмотреть в переменной __binding__
>>> import Qt
>>> Qt.__binding__
'PySide2'
Приоритет имопрта можно изменить через переменные QT_PREFERRED_BINDING и QT_PREFERRED_BINDING_JSON. Причем под каждый проект оверрайды можно настраивать индивидеально.
#qt#libs
🗓 On July 8–12, the eighth substantive session of the UN Open-ended Working Group (#OEWG) on ICT was held in New York, following which the third annual progress report of this mechanism was adopted by consensus, which reflected many elements of the approaches of Russia and its like-minded countries to ensuring international cybersecurity.
The consensus decision to establish a universal UN negotiation mechanism on cybersecurity, after the current OEWG concludes its work in 2025, agreeing its key parameters and consolidating this in the document became the main result of the intense negotiations. The parties managed to maintain a purely consensual decision-making procedure with the leading role of states and to enshrine the task to develop legally binding norms in the mandate of the OEWG’s successor mechanism.
🤝 The Russian side is ready to further constructively participate in the process of specifying the details of the future mechanism during the final negotiating cycle of the OEWG (December 2023 – July 2025).
Russia will continue to uphold the need to create a fair international cybersecurity system as a priority, built on the principles of equality, mutual respect, trust, and consideration of all states’ interests.
🗓 On October 20-22, Deputy Russian Foreign Minister Sergey Vershinin, heading the Russian interagency delegation, took part in the 10th Singapore International Cyber Week and the Special Session of the ASEAN Ministerial Conference on Cybersecurity with Dialogue Partners held within its framework.
Participants of the event emphasized the importance of recognizing the global nature of growing threats in the digital environment. The results of the now-concluded UN Open-Ended Working Group (#OEWG) focused on the security of and in the use of information and communications technologies (ICT) were highly commended. A commitment was expressed to work jointly within the framework of the forthcoming Permanent Global Mechanism on ICT Security and Responsible State Behaviour in Cyberspace, which will replace the OEWG. The signing of the UN Convention against Cybercrime in Hanoi, Viet Nam (October 25-26), was noted as an important milestone.
On the sidelines of the Forum, DFM Vershinin held bilateral meetings with UN Under-Secretary-General and High Representative for Disarmament Affairs, Izumi Nakamitsu, Singapore’s Minister of State for Foreign Affairs and Trade & Industry, Gan Siow Huang, Permanent Secretary of the Ministry of Foreign Affairs of Singapore, Albert Chua, Chief Executive of the Cyber Security Agency of Singapore David Koh, Permanent Representative of Singapore to the UN, Burhan Gafoor, and Head of the Cyber Defense and Security Division of the Ministry of Foreign Affairs of Brazil, Larissa Calza.
The meetings and bilateral contacts confirmed ASEAN countries’ receptiveness to the key elements of Russia’s approaches to international information security (#IIS). In particular, Russia’s arguments were supported regarding the central role of the UN in the negotiation process on ICT security issues, including artificial intelligence, as well as the need to develop legally binding norms to prevent and resolve conflicts in cyberspace based on the principles of sovereign equality and non-interference in the internal affairs of states.
🗓 On October 20-22, Deputy Russian Foreign Minister Sergey Vershinin, heading the Russian interagency delegation, took part in the 10th Singapore International Cyber Week and the Special Session of the ASEAN Ministerial Conference on Cybersecurity with Dialogue Partners held within its framework.
Participants of the event emphasized the importance of recognizing the global nature of growing threats in the digital environment. The results of the now-concluded UN Open-Ended Working Group (#OEWG) focused on the security of and in the use of information and communications technologies (ICT) were highly commended. A commitment was expressed to work jointly within the framework of the forthcoming Permanent Global Mechanism on ICT Security and Responsible State Behaviour in Cyberspace, which will replace the OEWG. The signing of the UN Convention against Cybercrime in Hanoi, Viet Nam (October 25-26), was noted as an important milestone.
On the sidelines of the Forum, DFM Vershinin held bilateral meetings with UN Under-Secretary-General and High Representative for Disarmament Affairs, Izumi Nakamitsu, Singapore’s Minister of State for Foreign Affairs and Trade & Industry, Gan Siow Huang, Permanent Secretary of the Ministry of Foreign Affairs of Singapore, Albert Chua, Chief Executive of the Cyber Security Agency of Singapore David Koh, Permanent Representative of Singapore to the UN, Burhan Gafoor, and Head of the Cyber Defense and Security Division of the Ministry of Foreign Affairs of Brazil, Larissa Calza.
The meetings and bilateral contacts confirmed ASEAN countries’ receptiveness to the key elements of Russia’s approaches to international information security (#IIS). In particular, Russia’s arguments were supported regarding the central role of the UN in the negotiation process on ICT security issues, including artificial intelligence, as well as the need to develop legally binding norms to prevent and resolve conflicts in cyberspace based on the principles of sovereign equality and non-interference in the internal affairs of states.