개요
maya.cmds.window 함수는 Maya에서 새로운 사용자 인터페이스 창을 생성하는 데 사용됩니다. 이 창은 다양한 UI 요소를 포함할 수 있으며, 사용자와의 상호작용을 처리하는 데 사용됩니다.
함수 서명
maya.cmds.window(windowName=None, **kwargs)
인자
- windowName (string, optional): 창의 이름을 지정합니다. 이름을 지정하지 않으면 Maya가 자동으로 이름을 할당합니다.
반환 값
string: 생성된 창의 이름을 반환합니다.
키워드 인자 (kwargs)
maya.cmds.window 함수는 여러 키워드 인자를 허용합니다. 주요 키워드 인자와 그 설명은 다음과 같습니다:
일반적인 인자
- title (string): 창의 제목을 설정합니다. 예시:
title="My Window" - widthHeight (tuple): 창의 초기 너비와 높이를 설정합니다. (단위: 픽셀) 예시:
widthHeight=(300, 200) - sizeable (bool): 창 크기 조절 가능 여부를 설정합니다. 예시:
sizeable=True - resizeToFitChildren (bool): 자식 요소의 크기에 맞춰 창 크기를 자동으로 조절할지 여부를 설정합니다. 예시:
resizeToFitChildren=True - backgroundColor (tuple): 창의 배경 색상을 RGB 값으로 설정합니다. 예시:
backgroundColor=(0.2, 0.2, 0.2) - menuBar (bool): 창에 메뉴 바를 추가할지 여부를 설정합니다. 예시:
menuBar=True
레이아웃 관련 인자
- menuBarVisible (bool): 메뉴 바의 표시 여부를 설정합니다. 예시:
menuBarVisible=True - toolbox (bool): 창이 도구 상자 형식으로 표시될지 여부를 설정합니다. 예시:
toolbox=False
창의 동작 관련 인자
- retain (bool): 창이 닫혀도 레이아웃이 유지될지 여부를 설정합니다. 예시:
retain=True - iconName (string): 작업 표시줄에 표시될 창의 아이콘 이름을 설정합니다. 예시:
iconName="MyIcon" - menuArray (list): 창에 포함될 메뉴의 목록을 설정합니다. 예시:
menuArray=["File", "Edit", "View"]
사용 예제
기본 예제
import maya.cmds as cmds
# 창 생성
win = cmds.window(title="My Window", widthHeight=(300, 200), sizeable=True)
# 레이아웃 설정
cmds.columnLayout(adjustableColumn=True)
# UI 요소 추가
cmds.text(label="Hello, Maya!")
cmds.button(label="Click Me")
# 창 표시
cmds.showWindow(win)
고급 예제
import maya.cmds as cmds
# 창 생성
win = cmds.window(title="Advanced Window", widthHeight=(400, 300), sizeable=True, resizeToFitChildren=True)
# 메뉴 바 추가
cmds.menuBarLayout()
cmds.menu(label='File')
cmds.menuItem(label='New')
cmds.menuItem(label='Open')
cmds.menuItem(label='Save')
cmds.menuItem(label='Exit', command=('cmds.deleteUI(\"' + win + '\", window=True)'))
# 메인 레이아웃 설정
cmds.columnLayout(adjustableColumn=True)
# UI 요소 추가
cmds.text(label="Advanced Example")
cmds.button(label="Press Here")
cmds.floatSlider(min=0, max=100, value=50)
# 창 표시
cmds.showWindow(win)
참고 사항
- 창의 이름을 명시적으로 지정하지 않으면 Maya가 자동으로 이름을 할당합니다. 창 이름은 후속 명령에서 참조하는 데 사용됩니다.
cmds.showWindow함수는 창을 화면에 표시하는 데 사용됩니다. 이 함수를 호출하지 않으면 창이 생성되지만 보이지 않습니다.maya.cmds.window함수는 Maya의 UI 생성에 있어 매우 기본적이고 중요한 역할을 합니다. 다양한 키워드 인자를 사용하여 창의 동작과 외형을 세밀하게 조정할 수 있으며, 이를 통해 사용자 맞춤형 UI를 효과적으로 제작할 수 있습니다. 이 함수의 이해와 활용은 Maya 스크립팅의 중요한 부분을 차지합니다.
오류 처리
- RuntimeError: 이미 존재하는 창 이름을 사용하려고 하면 발생합니다.
# 해결 방법: 창 이름을 유일하게 지정하거나 기존 창을 삭제하고 새로 생성합니다. if cmds.window('myWindow', exists=True): cmds.deleteUI('myWindow') cmds.window('myWindow')
결론
maya.cmds.window 함수는 Maya의 사용자 인터페이스 창을 생성하고 관리하는 데 필수적인 도구입니다. 다양한 옵션을 통해 창의 제목, 크기, 레이아웃, 동작 등을 세밀하게 설정할 수 있으며, 이를 통해 사용자 맞춤형 UI를 효과적으로 제작할 수 있습니다. 이 함수의 이해와 활용은 Maya 스크립팅의 중요한 부분을 차지합니다.