Autodesk Maya의 cmds.columnLayout 명령어는 수직으로 정렬된 레이아웃을 생성하는 데 사용됩니다.
이 레이아웃은 UI 요소를 위에서 아래로 순서대로 배치하는 데 유용하며, 사용자가 간편하게 UI를 구성할 수 있도록 도와줍니다.
구문
cmds.columnLayout(*args, **kwargs)
파라미터
주요 인수
- args: 레이아웃의 이름을 지정할 수 있습니다.
문자열 형식의 이름을 지정하면 이후에 해당 이름을 통해 레이아웃을 참조할 수 있습니다. - kwargs: 다양한 속성을 지정할 수 있는 키워드 인수들입니다.
주요 키워드 인수
- adjustableColumn (ac): 레이아웃의 열 크기를 조정할 수 있는지 여부를 지정합니다.
- 유형: Boolean
- 기본값: False
- columnAlign (cal): 레이아웃 내의 모든 UI 요소의 정렬 방식을 지정합니다.
‘left’, ‘right’, ‘center’ 중 하나를 선택할 수 있습니다.- 유형: String
- 기본값: ‘left’
- columnAttach (cat): 레이아웃 내의 모든 UI 요소의 부착 방식을 지정합니다.
튜플 형식으로 (측면, 부착 방식, 간격)을 지정합니다.- 유형: Tuple
- 기본값: None
- columnWidth (cw): 레이아웃의 열 너비를 지정합니다.
- 유형: Int
- 기본값: None
- rowSpacing (rs): 레이아웃 내의 각 행 사이의 간격을 지정합니다.
- 유형: Int
- 기본값: 5
- height (h): 레이아웃의 높이를 지정합니다.
- 유형: Int
- 기본값: None
- width (w): 레이아웃의 너비를 지정합니다.
- 유형: Int
- 기본값: None
- enable (en): 레이아웃과 그 자식 요소들의 활성화 여부를 지정합니다.
- 유형: Boolean
- 기본값: True
- visible (vis): 레이아웃의 가시성을 지정합니다.
- 유형: Boolean
- 기본값: True
반환 값
- String: 생성된 레이아웃의 이름을 반환합니다.
이 이름을 사용하여 나중에 레이아웃을 참조할 수 있습니다.
상세 설명
cmds.columnLayout 명령어는 수직 레이아웃을 생성하여 UI 요소를 위에서 아래로 정렬합니다.
이 레이아웃은 간단한 UI 구성에서부터 복잡한 인터페이스 디자인까지 다양한 상황에서 유용하게 사용할 수 있습니다.
예제
예제 1: 기본 사용법
기본적인 columnLayout을 생성하고 버튼을 추가하는 예제입니다.
import maya.cmds as cmds
# 새로운 창 생성
window = cmds.window(title="Column Layout Example")
cmds.columnLayout(adjustableColumn=True) # 조정 가능한 열로 설정된 columnLayout 생성
cmds.button(label="Button 1")
cmds.button(label="Button 2")
cmds.button(label="Button 3")
cmds.showWindow(window)
예제 2: 열 너비와 정렬 설정
열 너비와 정렬 방식을 지정하여 columnLayout을 생성하는 예제입니다.
import maya.cmds as cmds
# 새로운 창 생성
window = cmds.window(title="Column Layout Example")
cmds.columnLayout(columnWidth=150, columnAlign='center') # 열 너비와 정렬 방식 지정
cmds.button(label="Button 1")
cmds.button(label="Button 2")
cmds.button(label="Button 3")
cmds.showWindow(window)
예제 3: 열 부착 방식 설정
열 부착 방식을 지정하여 UI 요소를 배치하는 예제입니다.
import maya.cmds as cmds
# 새로운 창 생성
window = cmds.window(title="Column Layout Example")
cmds.columnLayout(columnAttach=('both', 5), rowSpacing=10) # 양쪽 부착과 행 간격 지정
cmds.button(label="Button 1")
cmds.button(label="Button 2")
cmds.button(label="Button 3")
cmds.showWindow(window)
예제 4: 복합 사용 예제
여러 가지 속성을 조합하여 columnLayout을 구성하는 예제입니다.
import maya.cmds as cmds
# 새로운 창 생성
window = cmds.window(title="Column Layout Example")
cmds.columnLayout(adjustableColumn=True, columnAlign='right', rowSpacing=15, height=200, width=300) # 여러 속성을 지정
cmds.text(label="This is a text")
cmds.button(label="Click Me")
cmds.floatSlider(min=0, max=10, value=5)
cmds.showWindow(window)
예제 5: 동적 UI 업데이트
UI 요소를 동적으로 추가하거나 제거하는 예제입니다.
import maya.cmds as cmds
def add_button():
cmds.setParent(layout) # 부모 레이아웃 설정
cmds.button(label="New Button")
# 새로운 창 생성
window = cmds.window(title="Dynamic UI Example")
layout = cmds.columnLayout(adjustableColumn=True)
cmds.button(label="Add Button", command=lambda x: add_button())
cmds.showWindow(window)
주의 사항
- adjustableColumn: 이 옵션을 True로 설정하면 레이아웃의 열이 창의 크기에 맞게 조정됩니다.
이를 통해 반응형 UI를 구현할 수 있습니다. - columnAlign: 정렬 방식은 레이아웃 내의 모든 UI 요소에 적용됩니다.
개별 요소의 정렬을 변경하려면 해당 요소의 속성을 따로 지정해야 합니다. - columnAttach: 부착 방식을 설정하여 요소들이 레이아웃의 어느 부분에 붙어 있을지 지정할 수 있습니다.
예를 들어, (‘both’, 5)는 요소가 양쪽에 5픽셀 간격으로 부착됨을 의미합니다. - rowSpacing: 각 행 사이의 간격을 설정하여 요소들이 서로 겹치지 않도록 할 수 있습니다. 기본값은 5픽셀입니다.
- width 및 height: 레이아웃의 너비와 높이를 지정하여 고정 크기의 레이아웃을 만들 수 있습니다.
이 값을 지정하지 않으면 요소의 크기에 따라 자동으로 조정됩니다.
참조
- Maya Commands Documentation
- Maya UI 구성 관련 명령어들:
- cmds.rowLayout
- cmds.formLayout
- cmds.gridLayout
- cmds.frameLayout
이 매뉴얼은 Maya의 cmds.columnLayout 명령어에 대한 포괄적인 설명을 제공하며, 다양한 예제와 사용법을 통해 사용자에게 깊이 있는 이해를 제공합니다.