सारांश
यह आलेख बताता है कि Nuke मेनू सिस्टम से कमांड को सक्रिय करने के लिए पायथन का उपयोग कैसे किया जाए।
अधिक जानकारी
Nuke का ग्राफिकल यूजर इंटरफेस (GUI) बहुत अनुकूलन योग्य है, और इसके भाग के रूप में आप मेनू सिस्टम में विभिन्न आइटम जोड़ सकते हैं, स्थानांतरित कर सकते हैं या सक्रिय कर सकते हैं, जिससे उपयोगकर्ताओं को Nuke में पूर्ण एकीकरण के साथ कस्टम पाइपलाइन स्थापित करने की अनुमति मिलती है।
Nuke की मेनू प्रणाली दो मुख्य वर्गों, मेनू और मेनूआइटम्स से मिलकर बनी है, जिनकी परिभाषा नीचे देखी जा सकती है:
- मेनू वर्ग: अन्य मेनू या मेनू आइटम के लिए एक कंटेनर
- MenuItem वर्ग: QAction के लिए एक कंटेनर जो Nuke में एक क्रिया निष्पादित करता है
Nuke के अंदर मेनू संरचनाएँ बनाने के लिए Menu और MenuItem क्लासेस का इस्तेमाल किया जाता है। आप इनका इस्तेमाल अपनी खुद की मेनू संरचनाएँ बनाने के लिए भी कर सकते हैं, जिससे कस्टम मेनू बनाने में मदद मिलती है। इन दोनों क्लासेस के बारे में अधिक जानकारी यहाँ मिल सकती है:
QAction एक QT/PySide क्लास है और एक अमूर्त क्रिया है जिसका उपयोग कमांड निष्पादित करने के लिए किया जा सकता है। QActions के बारे में अधिक जानकारी QT दस्तावेज़ में यहाँ पाई जा सकती है:
https://doc.qt.io/qt-6/qaction.html
जब आप GUI में Nuke मेनू से कोई कमांड निष्पादित करते हैं, तो आप वास्तव में MenuItem कंटेनर को उससे संबंधित QAction को लागू करने का निर्देश दे रहे होते हैं। उदाहरण के लिए, जब आप Edit मेनू में Clone QAction चुनते हैं, तो एक नोड क्लोन हो जाता है, क्योंकि यही उस QAction को निर्दिष्ट कमांड है।
तरीका
पायथन के माध्यम से Nuke के मेनू स्ट्रक्चर में किसी कमांड को सक्रिय करने के लिए, आपको विशिष्ट MenuItem कंटेनर को "ढूँढना" होगा और उससे संबंधित QAction को इनवोक करना होगा। यह नीचे दिए गए कोड का उपयोग करके किया जा सकता है:
mainMenu = nuke .menu("Nuke")
mainMenu.findItem("Edit/Clone").invoke()
कोड की पहली पंक्ति, mainMenu = nuke .menu("Nuke") , मुख्य Nuke मेनू टूलबार का Menu वर्ग लौटाती है:
नोट: यदि आप नोड्स टूलबार तक पहुंचना चाहते हैं, तो यह “Nuke” को “Nodes” से प्रतिस्थापित करके उसी कमांड से किया जा सकता है:
दूसरी पंक्ति, mainMenu.findItem("Edit/Clone").invoke() , "Edit" मेनू के अंदर "Clone" MenuItem कंटेनर ढूँढने के लिए findItem() फ़ंक्शन का उपयोग करती है। फिर, उस MenuItem का QAction invoke() फ़ंक्शन के माध्यम से सक्रिय होता है। इस स्थिति में परिणाम चयनित नोड्स का क्लोनिंग होगा।
नोट: मेनू सिस्टम में किसी खास QAction को ढूँढ़ने के लिए पथ बनाने हेतु, आपको हर बार उप-मेनू में प्रवेश करते समय "/" को विभाजक के रूप में उपयोग करना होगा। उदाहरण के लिए: Edit/Clone, Viewer/View/Next, आदि।
nuke .menu() के साथ उपयोग करने के लिए वर्तमान मान्य मेनू हैं:
'न्यूक' : एप्लिकेशन मेनू
'पैन' : UI पैन और पैनल मेनू
'नोड्स' : नोड्स टूलबार (और नोडग्राफ दायां माउस मेनू)
'गुण' : गुण पैनल दायाँ माउस मेनू
'एनीमेशन ': घुंडी एनीमेशन मेनू और वक्र संपादक दायाँ माउस मेनू
'व्यूअर' : व्यूअर दायाँ माउस मेनू
'नोड ग्राफ' : नोड ग्राफ दायाँ माउस मेनू
'अक्ष' : वे फ़ंक्शन जो सभी क्लासिक 3D Axis_Knobs पर मेनू में दिखाई देते हैं।
'दृश्यग्राफ' : दृश्य ग्राफ पैनल दायाँ माउस मेनू
'स्नैप' : बीटा 3D नोड के स्नैप मेनू में एक कस्टम विकल्प जोड़ता है। अधिक जानकारी यहाँ पाई जा सकती है: नए स्नैप मेनू का विस्तार
हम चाहते हैं कि खेद व्यक्त करते हैं
कृपया हमें बताएँ कि