我正在尝试在NUKE中创建一个下拉列表以列出路径中的所有文件夹。到目前为止,这是我的代码:
p = nuke.Panel('my custom panel')
p.addEnumerationPulldown('my choices', (os.walk('E:').next()[1]))
ret = p.show()
我遇到的一个问题是,如果我有一个带空格的文件夹名称,它会显示为不同的选择。
例如,文件夹System Test
显示为两个选项System
和Test
我该如何解决这个问题?
答案 0 :(得分:2)
nuke.Panel枚举下拉菜单无法处理值中的字符串。您必须用其他字符替换任何空格,然后创建下拉列表。
p = nuke.Panel('my custom panel')
paths = [i.replace(" ", "-_-") for i in os.walk('E:').next()[1]]
p.addEnumerationPulldown('my choices', paths)
ret = p.show()
最终,如果它可以满足您的需求,那么使用PythonPanel可能会更好。它可以处理附加到面板的Enumeration_Knob中的空格。
import os
import nuke
import nukescripts
p = nukescripts.PythonPanel("foo")
k = nuke.Enumeration_Knob("bar", 'bar', os.walk('E:').next()[1])
p.addKnob(k)
p.show()