直接进入干货,供遇到相同情况的小伙伴参考。
一、pyuic6导出designer设计的窗体,py代码不完全兼容PyQt6
用Qt Designer设计完界面后,要用pyuic6导出为py文件,再在代码中调用,但直接调用会报错,原因是部分代码(主要是窗体对齐)导出的还是PyQt5的格式。
如导出为:
QtCore.Qt.AlignHCenter
在PyQt6下应该是:
QtCore.Qt.AlignmentFlag.AlignHCenter
需要将所有的对齐代码修改过来。可以用脚本自动处理(在windows下时可用wsl执行)。
awk '{sub(/Qt.AlignH/,"Qt.AlignmentFlag.AlignH");sub(/Qt.AlignL/,"Qt.AlignmentFlag.AlignL
");sub(/Qt.AlignB/,"Qt.AlignmentFlag.AlignB");sub(/Qt.AlignV/,"Qt.AlignmentFlag.AlignV");sub(/Qt.AlignT/,"Qt.AlignmentFlag.AlignT");sub(/Qt.AlignR/,"Qt.AlignmentFlag.AlignR"
);print $0}'