Q100098: 사용자 정의 탭을 만들어 Katana 사용자 인터페이스를 수정하는 방법

요약

이 문서에서는 Katana 의 기본 메뉴에서 사용자 정의 탭 유형을 만들고 액세스하는 방법을 보여줍니다.

더 많은 정보

사용자 지정 탭을 만들려면 다음이 필요합니다.

1. UI4.Tabs.BaseTab 에서 파생된 클래스를 정의하고 위젯의 레이아웃을 자체적으로 지정합니다.
2. 해당 클래스를 Katana Panel 유형의 플러그인으로 등록합니다.

위의 내용을 설명하는 몇 가지 Python 예제는 다음과 같습니다.

Katana 8.0
from Katana import UI4
from PySide6 import QtWidgets

class MyCustomTab(UI4.Tabs.BaseTab):

    def __init__(self, parent):
        UI4.Tabs.BaseTab.__init__(self, parent)

       label = QtWidgets.QLabel('This is MyCustomTab')
        label.setObjectName('label')
        label.setStyleSheet('font-weight: bold; '
                            'font-size: 18pt; '
                            'font-style: italic;')

       hLayout = QtWidgets.QHBoxLayout()
        hLayout.setObjectName('hLayout')
        hLayout.addStretch()
        hLayout.addWidget(label)
        hLayout.addStretch()

       vLayout = QtWidgets.QVBoxLayout()
        vLayout.setObjectName('vLayout')
        vLayout.addLayout(hLayout)

        self.setLayout(vLayout)

PluginRegistry = [
    ('KatanaPanel', 2.0, 'MyCustomTab', MyCustomTab),
    ('KatanaPanel', 2.0, ' Custom/MyCustomTab ', MyCustomTab),
]
Katana 7.5 이상
from Katana import UI4
from PyQt5 import QtWidgets

class MyCustomTab(UI4.Tabs.BaseTab):

    def __init__(self, parent):
        UI4.Tabs.BaseTab.__init__(self, parent)

       label = QtWidgets.QLabel('This is MyCustomTab')
        label.setObjectName('label')
        label.setStyleSheet('font-weight: bold; '
                            'font-size: 18pt; '
                            'font-style: italic;')

       hLayout = QtWidgets.QHBoxLayout()
        hLayout.setObjectName('hLayout')
        hLayout.addStretch()
        hLayout.addWidget(label)
        hLayout.addStretch()

       vLayout = QtWidgets.QVBoxLayout()
        vLayout.setObjectName('vLayout')
        vLayout.addLayout(hLayout)

        self.setLayout(vLayout)

PluginRegistry = [
    ('KatanaPanel', 2.0, 'MyCustomTab', MyCustomTab),
    ('KatanaPanel', 2.0, ' Custom/MyCustomTab ', MyCustomTab),
]
 
 
등록

UI에서 탭 유형을 보려면 Python 코드를 .py 파일로 저장하고 이 파일을 경로가 $KATANA_RESOURCES 환경 변수에 추가된 디렉토리의 Tabs 하위 폴더에 넣으세요.

이런 방식으로 등록된 탭 유형은 Katana 의 메인 메뉴 막대의 메뉴와 Katana 레이아웃의 각 창에 있는 탭 추가 메뉴에 표시됩니다.
참고: Custom/MyCustomTab 과 같이 경로와 유사한 탭 유형 이름을 사용하여 해당 메뉴 내에서 탭 유형을 그룹화할 수 있습니다. 하지만 Katana 3.0v1 이상에서는 탭 플러그인 검색 경로에 따라 탭이 별도의 섹션으로 구성됩니다. 즉, 서로 다른 리소스 경로에서 로드된 탭 플러그인은 동일한 하위 메뉴 아래에 그룹화되지 않습니다.

모든 사용자 지정 폴더는 고유한 섹션으로 그룹화됩니다. 이러한 섹션에는 제목을 지정할 수 있으며, KATANA _RESOURCES 디렉터리의 Tabs 폴더에 separatorTitle.txt 라는 파일을 저장하여 제목을 사용자 지정할 수 있습니다. 예를 들어, 구분 기호 제목으로 "API Example Tabs"를 원하면 separatorTitle.txt 에 "API Example Tabs"를 입력하면 됩니다. 결과는 다음과 같습니다.

맥클립1.png
참고: 사용자 지정 섹션을 두 개 이상 만들려면 KATANA _RESOURCES 에 여러 개의 고유 디렉터리를 할당해야 하며, 각 디렉터리에는 고유한 폴더가 있어야 합니다. 이는 Katana 폴더만 찾고 폴더당 하나의 separatorTitle.txt 만 허용하며 하위 폴더를 식별하지 못하기 때문에 필요합니다. KATANA _RESOURCES 에 새 경로를 추가하는 방법에 대한 자세한 내용은 Katana 리소스 설치 가이드를 참조하세요.

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

    이유를 알려주세요