美文网首页CgTd
Nuke Python 用PyQt扩展Nuke

Nuke Python 用PyQt扩展Nuke

作者: N景波 | 来源:发表于2016-11-22 11:47 被阅读0次

虽然nuke内置了pyside,但是想用pyqt还是可以的。
配置pyqt需要几个步骤,当然Python26也要安装。
要在nuke里面用qt,先下载Qt 4.6.2 然后运行build.py 参数 release 64,编译pyqt需要链接的所有库。

编译完成后,将可执行程序的路径加入环境变量。<qtbuilddir>/bin/
后面是各个平台的具体操作步骤:

Mac OSX
  • 下载sip,并解压
  • 运行如下命令:
configure.py
make
make install
  • 下载pyqt4的源码,并解压
  • 到解压目录下面运行命令:
configure.py
make
make install
  • PyQt库配置来指向nuke的qt库,运行soFileFixForMacPyQt.py,其和qt的源码绑在一起。

最后根据 Environment setup来设置环境。

Linux
  • 下载sip,解压,编译:
configure.py
make
make install
  • 下载pyqt4,解压编译:
configure.py
make
make install

最后看 环境设置部分

Window

和linux操作差不多,不再赘述。

Enviroment Setup

编译好的sip和pyqt应该在python的site-packages目录。推荐做法:拷贝sip和pyqt到一个单独目录,然后添加到python path里面
例如: 给nuke的pyqt创建一个目录<pyqtbuilddir>,并拷贝文件到目录下:

## files and dirs to copy
PyQt4/
sip.so
sipconfig.py
sipdistutils.py


## final directory tree looks like

<pyqtbuilddir>/PyQt4/*
<pyqtbuilddir>/sip.so
<pyqtbuilddir>/sipconfig.py
<pyqtbuilddir>/sipdistutils.py

将pyqt添加到python,你就可以从nuke里面使用pyqt了。

export PYTHONPATH=<pyqtbuilddir>

或者在nuke的 menu.py里面加入:

sys.path.append ("<pyqtbuilddir>")
第一个 PyQt 窗口

启动NUKe,打开脚本编辑器,填入下列命令:

from PyQt4 import QtGui
label = QtGui.QLabel("Hello World")
label.show()

hello world窗口就会显示

Pyside和 PyQt knobs

可以把PyQt的widget插入nuke的python panel,并像
nuke的panel一样停靠。
想要PyQt的widget可停靠,就需要用一个wrapper knob来创建
其可以被PyCustom_Knob.
wrapper knob 要有 makeUI()函数来返回widget。
作为例子,可以看nukescript/pyQtExamples目录下的webBrowser.py
测试例子,在脚本编辑器输入:

import nukescripts.pyQtExamples.webBrowser

现在pane菜单就有一个web browser了。

也可以使用panels.registerWidgetAsPanel 的wrapper函数来 wrap一个PyQt的widget,而不是创建一个自定义knob,同样适用于pyside。
更多信息请查看Dockable Pyside widget。

从Qt程序迁移 nuke6.2

以前的nuke,需要在另外的线程里面运行pyqt,并且用executeInMainthread来调用nuke。
这在nuke6.3或者以后版本就不适用了。
为了后向兼容,pyQtappUtiles.py可以让以前的函数继续使用,但是推荐更新代码,使用qt标准的show函数。

相关文章

  • Nuke Python 用PyQt扩展Nuke

    虽然nuke内置了pyside,但是想用pyqt还是可以的。配置pyqt需要几个步骤,当然Python26也要安装...

  • Nuke Python 用PySide扩展Nuke

    可以用python和pyside来扩展nuke的UI,6.3v5以上已经自带PySide了。 第一个PySide窗...

  • Nuke Python 使用命令行

    nuke的命令行如何执行python脚本,请听详细分解 在python模式下运行nuke 通过 -t 参数,可以在...

  • Nuke Python 安装插件

    有好几种安装插件,gizmos, python脚本的方法。 最简单的就是用home目录的 ~/.nuke目录,其在...

  • Nuke V11.1 For Mac破解版软件免费下载附安装教程

    nuke studio mac全称The Foundry Nuke Studio,是一款视频后期合成编辑软件。nu...

  • Nuke Python 始

    这部分解释Nuke启动后运行的脚本 评估顺序 Nuke 初始化脚本的运行顺序和插件路径的顺序是相反的。插件默认路径...

  • Nuke Python roto

    怎么创建roto 图形和 画笔当获取或者设置roto,rotopaint节点时,需要读取节点的curves kno...

  • Nuke Python 数学

    本章讲解了一些数学模块的特性,详解了矢量和矩阵对象以及它们的成员函数。你可以在Nukepedia上找到一个很棒的教...

  • Nuke Python 格式

    这部分将如何处理格式 读取格式 使用nuke.formats()可会获取nuke支持的格式 各种方法展示如下: 结...

  • Nuke Python Metadata

    这章介绍如何读写Metadata。 读取metadata 函数metadata() 返回一个字典,包含了特点指定节...

网友评论

    本文标题:Nuke Python 用PyQt扩展Nuke

    本文链接:https://www.haomeiwen.com/subject/csmppttx.html