В прошлом посте говоря "Все вызовы теперь одинаковы" я несколько слукавил. Всё-таки есть в этом зоопарке версий некоторая несовместимость вызов которой просто так не унифицировать. Эти моменты вынесены в отдельный модуль 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
02. Iyengar Yoga
去了 5 次瑜伽课,几乎都是早上 7 点打车去古城,Iyengar Yoga 对于我这种柔韧性很差的人真的折磨,感觉是该回炉重造了,其实一开始只是想陪着学姐去,但是似乎也坚持下来了,老师说进步很明显,甚至能倒立了,这周应该还会完成一个 4-5 节课的 Session。
有趣的是老师为了让我放松在跟我闲聊:
“You have a very healthy body but apparently lack of exercise, how old are you? 22?”
“27 and I’m a programmer”
“Oh that make sense, you actually need yoga!!!”
其实随着年龄渐长自己已经不得不正视身体和精力已经有些跟不上自己的想法了,早起去瑜伽或是锻炼几个小时,下午回来后常常感觉到疲劳,学习能力和专注力也不如之前了。
有尝试过进行一些调整,如又重新恢复的 8+16 断食和坚持了差不多一个月素食(不算非常严格,跟朋友聚餐也会破戒但大体坚持下来了),再加上现在的瑜伽和游泳,有点像是人力抵抗自然,痛苦但有用。
#life#chiangmai