지원 티켓 만들기
팔로우

Q100354 : 파이썬을 사용하여 핵무기 메뉴 명령을 활성화하는 방법

개요

이 기사에서는 핵무기 메뉴 시스템에서 명령을 파이썬으로 활성화하는 방법에 대해 다룹니다.

추가 정보

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

Nuke 의 메뉴 시스템은 Menus 및 MenuItem이라는 두 가지 기본 클래스로 구성되어 있으며 그 정의는 아래에서 볼 수 있습니다.

  • Menu 클래스 : 다른 메뉴 또는 MenuItems를위한 컨테이너
  • MenuItem 클래스 : 누크에서 액션을 수행하는 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 클래스를 반환합니다.

노드 도구 모음에 액세스하려는 경우 "핵"을 "노드"로 대체하여 동일한 명령으로 수행 할 수 있습니다.

...

두 번째 줄

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명이 도움이 되었다고 했습니다.

댓글