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」と記述するだけで、以下のようになります。

mceclip1.png
注:複数のカスタムタブセクションを作成するには、 KATANA _RESOURCESに複数の固有のディレクトリを割り当て、それぞれにタブフォルダを設定する必要があります。これは、 Katanaタブフォルダのみを参照し、タブフォルダごとに1つのseparatorTitle.txtしか受け入れないため、サブフォルダを識別できないためです。KATANA KATANA _RESOURCESに新しいパスを追加する方法の詳細については、 Katana Resourcesインストールガイドをご覧ください。

    私たちはそれを聞いて申し訳ございません

    理由をお聞かせください