В прошлом посте говоря "Все вызовы теперь одинаковы" я несколько слукавил. Всё-таки есть в этом зоопарке версий некоторая несовместимость вызов которой просто так не унифицировать. Эти моменты вынесены в отдельный модуль QtCompat (compatibility). Там не так много функций но они довольно полезны.
Этот модуль содержит унификаци модуля shiboken2, функций loadUi, translate и несколько переименованных функций классов или изменённую сигнатуру аргументов и возвращаемых значений. Это единственное исключение из правила когда вам потребуется где-то изменить свой код кроме импортов и этот код не похож на обычный код PySide2.
Например, в PyQt4 и PySide есть метод
QHeaderView.setResizeMode
Для PyQt5 и PySide2 они были благополучно переименованы в
QHeaderView.setSectionResizeMode
Чтобы применить этот метод следует использовать такой код
from Qt import QtCompath
header = self.horizontalHeader()
QtCompat.QHeaderView.setSectionResizeMode(header, QtWidgets.QHeaderView.Fixed)
Унификация загрузки UI файлов:
# PySide2
from PySide2.QtUiTools import QUiLoader
loader = QUiLoader()
widget = loader.load(ui_file)
# PyQt5
from PyQt5 import uic
widget = uic.loadUi(ui_file)
# Qt.py
from Qt import QtCompat
widget = QtCompat.loadUi(ui_file)
Хорошо что таких моментов не много и их легко запомнить.
Полный список можно посмотреть в таблице.
#qt#tricks
Компьютерную версию Battlefield 6 можно было купить в Steam, но можно было заказать и напрямую на сайте Electronic Arts. Во втором случае версия привязывалась к приложению EA App, и надо же такому было случится, что данное приложение вышло из строя в самый релиз игры. Оставив тех, кто приобрел игру у ЕА, без возможности поиграть.
Ситуация оказалась настолько неприятной, что возмутился даже босс Battlefield Винс Дзампелла, который посоветовал игрокам потребовать назад свои деньги и затем приобрести игру в Steam. ЕА, кстати, извинилась за безобразие и пообещала всем пострадавшим бесплатный сезонный абонемент. Те, кто уже приобрел такой абонемент, получат в качестве халявы абонемент ко второму сезону.
НИМ#Battlefield6
Упаковал в видео одну из работ недавних, где задачей было озвучить из собственных звуков какие-либо элементы. Я решил взять корабль из Starfield, выстрел из РПГ из новой Battlefield 6 и синтез двигателя машины из зубной щётки.
Я нигде не опирался на оригинал, не сравнивал звучание, потому что цель была не в этом. Получилось так, как я это увидел из того, что у меня было на кухне и ванной, ну и немного бластеров Nerf.
Таймкоды:
00:04 - Starfield | Записанные звуки
00:16 - Starfield | Результат
00:31 - Battlefield 6 | Записанные звуки
00:41 - Battlefield 6 | Результат
00:47 - Зубная щётка, как основа двигателя машины
00:51 - Двигатель машины из зубной щётки в Phase Plant
01:26 - Анализ саунд-дизайна Starfield
07:18 - Анализ саунд-дизайна Battlefield 6
Также можно посмотреть на:
😉Youtube
#starfield#battlefield6#sounddesign