Q100098: अपना स्वयं का कस्टम टैब बनाकर Katana के उपयोगकर्ता इंटरफ़ेस को कैसे संशोधित करें

सारांश

यह आलेख दर्शाता है कि आप किस प्रकार अपना स्वयं का कस्टम प्रकार का टैब बना सकते हैं और उसे Katana के मुख्य टैब मेनू से एक्सेस कर सकते हैं।

अधिक जानकारी

कस्टम टैब बनाने के लिए आपको यह करना होगा:

1. UI4.Tabs.BaseTab से व्युत्पन्न एक वर्ग को विजेट्स के अपने लेआउट के साथ परिभाषित करें।
2. उस क्लास को Katana Panel प्रकार के प्लग-इन के रूप में पंजीकृत करें

उपरोक्त को स्पष्ट करने के लिए यहां कुछ पायथन उदाहरण दिए गए हैं:

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 में टैब प्रकार देखने के लिए, पायथन कोड को .py फ़ाइल में सहेजें और इसे उस निर्देशिका के टैब्स सबफ़ोल्डर के अंदर रखें जिसका पथ $KATANA_RESOURCES पर्यावरण चर में जोड़ा गया है।

इस तरह से पंजीकृत टैब प्रकार, Katana के मुख्य मेनू बार के टैब मेनू में और Katana लेआउट में प्रत्येक फलक के टैब जोड़ें मेनू में दिखाई देंगे।
नोट: आप पथ-समान टैब प्रकार नामों, जैसे Custom/MyCustomTab , का उपयोग करके उन मेनू के अंदर टैब प्रकारों को समूहीकृत कर सकते हैं। हालाँकि, कृपया ध्यान दें कि Katana 3.0v1 के बाद के संस्करणों में, टैब प्लग-इन खोज पथ के अनुसार टैब को अलग-अलग अनुभागों में भी व्यवस्थित किया जाता है, जिसका अर्थ है कि विभिन्न संसाधन पथों से लोड किए गए टैब प्लग-इन को एक ही सबमेनू के अंतर्गत समूहीकृत नहीं किया जाएगा।

प्रत्येक कस्टम टैब फ़ोल्डर को एक विशिष्ट अनुभाग में समूहीकृत किया जाता है। इन अनुभागों को शीर्षक दिए जा सकते हैं, जिन्हें KATANA _RESOURCES निर्देशिका के टैब फ़ोल्डर में separatorTitle.txt नामक फ़ाइल रखकर अनुकूलित किया जा सकता है। उदाहरण के लिए, यदि आप "API Example Tabs" को एक विभाजक शीर्षक के रूप में चाहते हैं, तो आप separatorTitle.txt में बस "API Example Tabs" डालेंगे और परिणाम इस प्रकार होगा:

mceclip1.png
नोट: एक से ज़्यादा कस्टम टैब सेक्शन के लिए, आपके पास KATANA _RESOURCES को सौंपी गई कई विशिष्ट निर्देशिकाएँ होनी चाहिए, जिनमें से प्रत्येक का अपना टैब फ़ोल्डर हो। यह इसलिए ज़रूरी है क्योंकि Katana केवल Tab फ़ोल्डर खोजता है, जबकि प्रत्येक Tab फ़ोल्डर में केवल एक separatorTitle.txt स्वीकार करता है, और उप-फ़ोल्डरों की पहचान नहीं कर सकता। KATANA _RESOURCES में नए पथ जोड़ने के बारे में अधिक जानकारी के लिए, कृपया Katana संसाधन स्थापना मार्गदर्शिका देखें।

    हम चाहते हैं कि खेद व्यक्त करते हैं

    कृपया हमें बताएँ कि