Q100538: uistate.ini में संग्रहीत नॉब्स और प्राथमिकताओं के लिए डिफ़ॉल्ट मान कैसे सेट करें


सारांश

यह आलेख बताएगा कि आप अपनी uistate.ini फ़ाइल में सहेजी गई कुछ सेटिंग्स और प्राथमिकताओं तक कैसे पहुंच सकते हैं और उन्हें कैसे बदल सकते हैं।

अधिक जानकारी

Nuke

Nuke में, uistate.ini में संग्रहीत मानों को PySide2/PySide6 QSettings वर्ग द्वारा बदला जा सकता है। निम्नलिखित कोड इसका एक उदाहरण है:

try:
from PySide6.QtCore import QSettings
except:
from PySide2.QtCore import QSettings

settings = QSettings("/path/to/.nuke/uistate.ini", QSettings.IniFormat) 
settings.setValue("header/setting", "newValue")

कहाँ:

  • "/path/to/.nuke/uistate.ini" आपकी uistate.ini फ़ाइल का पूर्ण पथ है।

  • "header/setting" उस सेटिंग का नाम है जिसका मान आप बदलना चाहते हैं, तथा वह शीर्षक जिसके अंतर्गत इसे संग्रहीत किया जाता है।

  • "newValue" वह मान है जिस पर आप सेटिंग को बदलना चाहते हैं।

इसका एक सरल उदाहरण फ़ाइल ब्राउज़र पूर्वावलोकन चालू करना होगा। प्रभाव तुरंत देखने के लिए आप स्क्रिप्ट संपादक में निम्न कोड चला सकते हैं:

try:
from PySide6.QtCore import QSettings
except:
from PySide2.QtCore import QSettings
import os

settings = QSettings(os.path.expanduser("~")+"/.nuke/uistate.ini", QSettings.IniFormat)
settings.setValue("FileBrowser/preview", "true")

हालाँकि, अगर सेटिंग 'सामान्य' हेडर के अंतर्गत संग्रहीत है, तो आपको settings.setValue() में हेडर का नाम देने की आवश्यकता नहीं है और आप सेटिंग्स नाम का ही उपयोग कर सकते हैं। उदाहरण के लिए:

try:
from PySide6.QtCore import QSettings
except:
from PySide2.QtCore import QSettings
import os

settings = QSettings(os.path.expanduser("~")+"/.nuke/uistate.ini", QSettings.IniFormat)
settings.setValue("submitUsageStatistics", "true")

स्टार्टअप पर इस कोड को चलाने के लिए, आप इसे अपने menu.py या init.py फ़ाइल में जोड़ सकते हैं , जो आपकी .nuke निर्देशिका में संग्रहीत है

Hiero / Nuke Studio

Nuke Studio और Hiero में, यह ApplicationSettings() विधि का Nuke Studio Hiero Python के माध्यम से भी सीधे पहुँचा जा सकता है ApplicationSettings() के लिए दिए गए तर्क इस प्रकार होने चाहिए:

 hiero .core.ApplicationSettings().setValue(" header / setting" , " new value ")

फिर, उदाहरण के लिए, आप स्क्रिप्ट संपादक में कोड की निम्नलिखित पंक्ति चलाकर ऑटोसेव अंतराल को 300 सेकंड में बदल सकते हैं:

 import hiero
hiero .core.ApplicationSettings().setValue("autosave/intervalSecs", "300")

फिर से, अगर सेटिंग 'सामान्य' हेडर के अंतर्गत संग्रहीत है, तो आपको पहले तर्क में हेडर का नाम देने की आवश्यकता नहीं है और आप सेटिंग नाम का ही उपयोग कर सकते हैं। उदाहरण के लिए:

 import hiero
hiero .core.ApplicationSettings().setValue("quickTimeSubProcessCount", "2")

Nuke Studio / Hiero में स्टार्टअप पर इस कोड को चलाने के लिए, आप इसे निम्न निर्देशिका के अंदर एक पायथन फ़ाइल में जोड़ सकते हैं: ~/.nuke/Python/Startup

अग्रिम पठन

जिस सेटिंग को आप बदलना चाहते हैं उसका नाम जानने के लिए, आप अपनी uistate.ini फ़ाइल को टेक्स्ट एडिटर में खोल सकते हैं। "फ़ोर्स प्रोजेक्ट ऑटोसेव आफ्टर सेटिंग" के मामले में, आप देख सकते हैं कि यह uistate.ini में [autosave] हेडर के अंतर्गत सेव है और इसका नाम intervalSecs है:

mceclip1.png

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

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