maya.cmds.window 상세 설명

maya.cmds.window 상세 설명 | 지식에 대한 탐구
 

개요

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 스크립팅의 중요한 부분을 차지합니다.