В прошлом посте говоря "Все вызовы теперь одинаковы" я несколько слукавил. Всё-таки есть в этом зоопарке версий некоторая несовместимость вызов которой просто так не унифицировать. Эти моменты вынесены в отдельный модуль 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
In a powerful act of reclaiming their homes and dignity, residents of South Lebanon returned to their villages, like Houla, and tore down the Israeli flags left behind after the retreat of Israeli forces.
#SouthLebanon#Lebanon
Residents of #SouthLebanon make fun of #Merkava tanks and #Israeli soldiers as they kick them out of their villages after the 60-day withdrawal period expires.
In a heartbreaking video, Julia shared moments while she was playing the piano in her home in Khiam, South Lebanon, which she discovered in a video circulated by Israeli soldiers that was destroyed during the border clashes when they were attempting to occupy her town.
#SouthLebanon#Khiam#LebanonUnderAttack#Israel
Thursday, October 10th, 2024 marked yet another unforgettable day for the Israeli military. Tanks along Lebanon’s Ras Al-Naqoura border were filmed live on fire as Hezbollah prevented Israel from evacuating its killed and injured soldiers.
#Hezbollah#Lebanon#SouthLebanon#RasAlNaqoura#Israel
As part of the initial retaliation to the Israeli assassination of senior leader Sayyid Fuad Shokor, Hezbollah decided to strike two strategic targets inside the Israeli depth.
#Hezbollah#Lebanon#SouthLebanon#IsraeliArmy#Israel#TelAviv
Although known for operating deep in its enemy’s territory while focusing on attacking and destroying specific targets and gathering accurate intelligence, the Maglan commando unit of the Israeli Army was ambushed by Hezbollah in South Lebanon. The trap was part of the underway confrontations while Israel is attempting to set a foot on Lebanon’s soil.
#SouthLebanon#Lebanon#Israel#IsraeliArmy#Maglan
After futile attempts, Israeli tanks are invading specific neighborhoods in the border Lebanese villages which their soldiers failed to enter during the battle. With Hezbollah being committed to the ceasefire, who is going to stand up to the endless Israeli aggression?
#SouthLebanon#Khiam#Lebanon#Israel#SouthLitani
#Hezbollah Chief Sayyed Hassan #Nasrallah refuted Israeli claims about a preemptive strike ahead of “Operation Al-Arbaeen” in the #Israeli depth. He also set a condition of resuming the retaliation, which has to do with the enemy’s admitting of losses inflicted in first phase.
#Lebanon#SouthLebanon#IsraeliArmy
Lebanese #Hezbollah military media releases video showing bases targeted in #Israel part of the First Phase of its response to the assassination of senior commander Fuad Shukr and killing of several civilians in #Beirut's southern suburbs on July 31.
#Lebanon#SouthLebanon#Nasrallah#Gaza#Palestine#IsraeliArmy
#Hezbollah Chief Sayyed Hassan #Nasrallah announced targets behind “Operation Al-Arbaeen” on August 25, 2024 in the #Israeli depth, and unveiled important details about the qualitative operation that struck the #Mossad HQ in #TelAviv suburb.
#Lebanon#SouthLebanon#IsraeliArmy