创建支持服务单
关注

Q100354:如何使用Python激活Nuke菜单命令

摘要

本文介绍如何从Nuke菜单系统中激活命令。

更多信息

Nuke的图形用户界面(GUI)非常可定制,作为其中的一部分,您可以添加,移动或激活菜单系统中的各种项目,允许用户设置自定义管道并完全集成到Nuke中。

Nuke的菜单系统由两个主要类别Menus和MenuItems组成,其定义如下:

  • 菜单类:其他菜单或MenuItems的容器
  • MenuItem类:用于在Nuke中执行操作的QAction的容器

Menu和MenuItem类用于在Nuke中创建菜单结构。您还可以使用它们来制作自己的菜单结构,从而允许自定义菜单。有关这两个类的更多信息,请访问:

菜单类
MenuItem类

QAction是一个QT / PySide类,是一个可用于执行命令的抽象动作。

有关QActions的更多信息,请参阅QT文档: http ://doc.qt.io/qt-5/qaction.html

从Nuke菜单执行命令时,实际上是在告诉MenuItem容器调用其关联的QAction。例如,在“编辑”菜单中选择“克隆QAction”时,将克隆一个节点,因为这是分配给该QAction的命令。

方法

为了在Nuke的菜单结构中激活一个命令,你需要“找到”特定的MenuItem容器并调用其相关的QAction。这可以使用以下代码完成:

mainMenu = nuke.menu("Nuke")
mainMenu.findItem("Edit/Clone").invoke()

第一行代码

mainMenu = nuke.menu("Nuke")

返回主Nuke菜单工具栏的Menu类。

如果您要访问节点工具栏,可以使用相同的命令将“Nuke”替换为“Nodes”。

...

第二行

mainMenu.findItem("Edit/Clone").invoke()

使用findItem()函数在'Edit'菜单中找到'Clone'MenuItem容器,然后通过.invoke()函数激活该MenuItem的QAction。在这种情况下的结果是克隆选定的节点。

注意:要创建在菜单系统中查找特定QAction的路径,每次进入子菜单时都需要使用/作为分隔符。例如:编辑/克隆,查看器/查看/下一步等。

这篇文章有帮助吗?
/

We're sorry to hear that!

Please tell us why.
3 人中有 3 人觉得有帮助

评论