В прошлом посте говоря "Все вызовы теперь одинаковы" я несколько слукавил. Всё-таки есть в этом зоопарке версий некоторая несовместимость вызов которой просто так не унифицировать. Эти моменты вынесены в отдельный модуль 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
🎇Happy #TP6Anni!!
💙Join our 6th Anniversary Celebration and win OVER $10,000 Rewards!
Dive into👇
https://app.galxe.com/quest/TokenPocket/GCwbMtTHJW
💪We would like to express our gratitude to all TP users and partners, and we hope to work together with you in the future to create a new era of blockchain!
❤️Thank BitlayerLabs, MerlinSwap, cyclenetwork_GO, and TNA_Protocol for supporting the 1st round of the #TP6Anni celebration! Stay tuned for more!
💙Thanks to all the #TPFam who participated in the #TP6Anni celebration!
🏆Check if you are on the #TP6Anni Giveaway Winner List!
1️⃣ 50 BitlayerLabs Lucky Helmet NFT
👉https://docs.google.com/spreadsheets/d/1qjIkzt1_CM_LfNaoy4vVIrqSmB5hF4oAN5pIScYgeQM/edit#gid=0
2️⃣ $2,000 esMP token Giveaway
👉https://docs.google.com/spreadsheets/d/1tt_AiQmQYZk3EFS-6hEwTZFBI0iTcJDK6YD110TZeQU/edit#gid=0
3️⃣1,000 Piggy Boxes V3 Giveaway
👉https://docs.google.com/spreadsheets/d/1_Aj9cgq0SdyJHQjztl-TWGwHQb_NHgWIbaonwzSH7vA/edit#gid=0
4️⃣$3,000 $TNA and 50 Tapnames Whitelists Giveaway
👉https://docs.google.com/spreadsheets/d/1ZiCOS_nQ897Vj5p5TgoMi607hCCk2IILhwVn6-w-MjE/edit#gid=0
💙Thanks for your participation! If you have any questions, please join https://t.me/tokenPocket_en.
🎇Happy #TP6Anni!!
💙Join and win 50 BitlayerLabs Lucky Helmet NFT Whitelists Giveaway on Galxe!
👉https://app.galxe.com/quest/TokenPocket/GCddyth8TC
🟧Bitlayer Lucky Helmet is the official NFT launched by BitlayerLabs, a symbol of identity representing the contributions of builders in the Bitlayer community.
#TP6Anni#TokenPocket#Bitlayer
🎇Happy #TP6Anni!!
💙Join and win $2000 esMP Tokens Giveaway on Galxe!
👉https://galxe.com/TokenPocket/campaign/GCyyEths19
🟧MerlinSwap stands as the 1# Decentralized Exchange in the #Bitcoin ecosystem, aimed to become the liquidity hub for BTC and Bitcoin eco-assets, including #BRC20, #BRC420 and native tokens across MerlinLayer2 Bitcoin layer2.