Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Maya Python通过变量读取和设置optionMenu值_Python_Maya - Fatal编程技术网

Maya Python通过变量读取和设置optionMenu值

Maya Python通过变量读取和设置optionMenu值,python,maya,Python,Maya,我有一个模块,在用户使用我的工具后创建一个savedSettings.py文件。该文件中填充了变量,以便下次使用该工具时加载到gui中 我有一些复选框和一个选项菜单。读取和设置复选框的变量非常简单: # loadsettings into gui if os.path.exists(userSettings): sys.path.append(toolFolder) import savedSettings viewCBvalue = savedSettings.vie

我有一个模块,在用户使用我的工具后创建一个savedSettings.py文件。该文件中填充了变量,以便下次使用该工具时加载到gui中

我有一些复选框和一个选项菜单。读取和设置复选框的变量非常简单:

# loadsettings into gui
if os.path.exists(userSettings):
    sys.path.append(toolFolder)
    import savedSettings

    viewCBvalue = savedSettings.viewCheck
    ornamentCBvalue = savedSettings.ornamentCheck
    renderCBvalue = savedSettings.renderCheck
我认为选项菜单应该是一样的,并写道:

    encodingOMvalue = savedSettings.encodingCheck
当我现在告诉GUI使用变量时:

cmds.checkBoxGrp( 'viewCB', label = 'View: ', value1 = viewCBvalue)
cmds.checkBoxGrp( 'ornamentCB', label = 'Show Ornaments: ', value1 = ornamentCBvalue)
cmds.checkBoxGrp( 'renderCB', label = 'Render offscreen: ', value1 = renderCBvalue)

cmds.optionMenuGrp( 'encodingOM', label = 'Encoding ', value = encodingOMvalue )
cmds.menuItem( 'tif', label = 'tif')
cmds.menuItem( 'jpg', label = 'jpg')
cmds.menuItem( 'png', label = 'png')
我得到以下错误:

RuntimeError: Item not found: tif # 
我的savedSettings.py如下所示:

# User Settings Savefile: 
viewCheck = False
ornamentCheck = False
renderCheck = False
encodingCheck = "tif"
如果有人向我解释我做错了什么,以及如何为optionMenu设置变量,那就太好了


感谢您提前抽出时间,祝您度过愉快的一天

不要这样做。为此,请使用mayas内部机制

但如果你必须这样做,那么要知道当你这样做时:

import savedSettings
savedSettings中定义的任何内容都存储在savedSettings中,因此如果您有var viewCBvalue,则可以使用savedSettings.viewCBvalue调用它。您可以通过调用import savedSettings as*将其加载到main中,但您确实不想这样做

Python导入不是一个正常的函数,结果会被缓存

其他各种问题。不要将导入用于此目的

如果您不想使用optVar,请考虑使用泡菜< /P>