跳到正文
Erwan Leroy· Erwan Leroy·发布时间:精选
文本

Nuke 16 与 PySide6:如何更新 Python 脚本

Updating Your Python Scripts for Nuke 16 and PySide6

内容导读

Nuke 16 将界面库 PySide2 换成 PySide6,旧版 Python 工具可能需要修改才能运行。Erwan Leroy 的迁移指南重点说明导入方式、枚举值访问,以及如何按对象名称查找 DAG(节点图)控件。跨版本兼容可用 Qt.py、按 Nuke 版本选择导入,或捕获导入异常;但 Qt.py 主要提供 Qt 4、5、6 共有的接口,部分功能不可用或需通过 QtCompat 访问。

正式参考价值分;依据原始文字;未评价画面质量;未评价完整视频、运动、剪辑或声音

继续看关键要点
  • PySide6 不再允许通过控件实例访问类的枚举值,需要改为从类访问;作者指出,新写法仍兼容 PySide2。
  • 节点图控件现在有对象名称,组内节点图可按“DAG.Group1”这样的名称定位。但作者尚未找到旧 OpenGL 缓冲区抓取方式的替代方案,依赖它的工具仍有迁移难点。
  • 若工具需要兼容多个 Nuke 版本,可按版本分支导入:Nuke 11 起使用 PySide2,Nuke 16 起使用 PySide6;更早版本使用 PySide。
评分依据

正文通过跨版本导入、Shiboken迁移、枚举访问修改及按对象名查找DAG的代码示例,为Nuke脚本与界面工具升级提供可迁移的兼容方案,并交代Qt.py功能覆盖与DAG缓冲区访问的限制,但性能改善及工具兼容状态仅有作者陈述,未提供实测对照。

来源:Erwan Leroy · erwanleroy.com