Прекрасное объяснение, спасибо. Также эти ссылки очень полезны.
сь создавать пользовательский интерфейс для Maya на нативном Python (не Tkinter). следующий код работает просто отлично, создает окно с кнопкой, которая при нажатии печатает 'bar' для вывода истории:
import maya.cmds as cmds
cmds.window(title='Basic UI')
cmds.columnLayout()
foo = 'bar'
cmds.button(label = 'foobar', command = 'print(foo)')
cmds.showWindow()
Но если я добавлю тот же код в функцию buildIt ():
import maya.cmds as cmds
def buildIt():
cmds.window(title='Basic UI')
cmds.columnLayout()
foo = 'bar'
cmds.button(label = 'foobar', command = 'print(foo)')
cmds.showWindow()
buildIt()
Окно строится нормально, но после активации кнопки я получаю:
Error: NameError: file <maya console> line 1: name 'foo' is not defined
Что здесь происходит? И как мне это исправить?