지원 티켓 만들기
팔로우

Q100354 : Python을 사용하여 Nuke 메뉴 명령을 활성화하는 방법

개요

이 기사는 Nuke 메뉴 시스템에서 파이썬으로 명령을 활성화하는 방법을 설명합니다.

추가 정보

Nuke 의 그래픽 사용자 인터페이스 (GUI)는 매우 사용자 정의가 가능하며 메뉴 시스템에서 다양한 항목을 추가, 이동 또는 활성화하여 Nuke에 완전히 통합 된 사용자 정의 파이프 라인을 설정할 수 있습니다.

Nuke 의 메뉴 시스템은 Menus와 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에 지정된 명령이므로 노드가 복제됩니다.

방법

Python의 메뉴 구조에서 파이썬으로 명령을 활성화하려면 특정 MenuItem 컨테이너를 "찾기"하고 관련 QAction을 호출해야합니다. 아래 코드를 사용하여 수행 할 수 있습니다.

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

첫 번째 코드 줄

returns the Menu class of the main Nuke menu toolbar.

If you're looking to access the nodes toolbar, this can be done with the same command by replacing “Nuke” with “Nodes”. 

 

...

The second line

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

uses the findItem() function to find the 'Clone' MenuItem container inside the 'Edit' Menu, then activates the QAction of that MenuItem via the .invoke() function. The result in this case would be cloning the selected nodes.

NOTE:  To create the path to find a particular QAction in a menu system, you need to use / as separator every time you enter a sub menu. For example: Edit/Clone, Viewer/View/Next, etc.

 

 

도움이 되었습니까?

우리는 문제로 불편을 끼쳐 드려 죄송합니다

이유를 알려주세요
5명 중 5명이 도움이 되었다고 했습니다.