概括
本文介绍如何以 Python 方式从Nuke菜单系统激活命令。
更多信息
Nuke的图形用户界面 (GUI) 非常可定制,作为其中的一部分,您可以在菜单系统中添加、移动或激活各种项目,从而允许用户设置自定义管道并完全集成到Nuke中。
Nuke的菜单系统由两个主要类组成,Menus 和 MenuItems,其定义如下:
- 菜单类:其他菜单或菜单项的容器
- MenuItem 类: QAction 的容器,在Nuke中执行操作
Menu 和 MenuItem 类用于在Nuke中创建菜单结构。您还可以使用它们来制作自己的菜单结构,从而允许自定义菜单。有关这两个类的更多信息可以在这里找到:
QAction 是一个 QT/PySide 类,是一个可用于执行命令的抽象操作。有关 QActions 的更多信息可以在 QT 文档中找到:http: //doc.qt.io/qt-5/qaction.html
当您从 GUI 中的Nuke菜单执行命令时,您实际上是在告诉 MenuItem 容器调用其关联的 QAction。例如,当您在“编辑”菜单中选择“克隆 QAction”时,将克隆一个节点,因为这是分配给该 QAction 的命令。
方法
为了以 Python 方式激活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 的路径,每次进入子菜单时都需要使用“/”作为分隔符。例如:编辑/克隆、查看器/查看/下一步等。
当前与nuke .menu()
一起使用的有效菜单是:
“Nuke” :应用程序菜单
“Pane” :UI 窗格和面板菜单
'Nodes' :节点工具栏(和 Nodegraph 鼠标右键菜单)
“属性” :属性面板鼠标右键菜单
‘Animation ’:旋钮Animation菜单和Curve Editor鼠标右键菜单
'Viewer' :查看器右键菜单
'Node Graph' : 节点图鼠标右键菜单
'Axis' :出现在所有 Axis_Knobs 菜单中的功能。
我们很遗憾听到
请告诉我们