Я понял, что есть подобные вопросы, расположенныеЗаменить текст в текстовое поле с именем объекта - Pymel
здесь: textfield query and prefix replacing
и
здесь: Python - Change the textField after browsing - MAYA
Однако эти не обращайтесь к проблеме, если у вас есть два определения и нужен текст в textField
для запроса (фактически ИЗМЕНИТЬ текст в текстовом поле).
Я знаю по опыту, что выполнение того, что у меня ниже в MelScript, действительно работает, но ради Python и обучения тому, как это сделать на Python, похоже, что это не работает. Я что-то упускаю? Нужна ли мне лямбда, чтобы получить имя выбранного объекта и запросить текстовое поле?
У меня есть пример (надрез-бит, что должно быть исправлено):
from pymel.core import *
def mainWindow():
window('myWin')
columnLayout(adj=1)
button('retopoplz', ann='Select a Mesh to Retopologize', bgc=[.15,.15,.15],
l='START RETOPOLOGY', c='Retopo(TextToMakeLive)')
TextToMakeLive = textField(ann='Mesh Selected', bgc=[.2,0,0],
edit=0, tx='NONE')
setParent('..')
showWindow('myWin')
def Retopo(TextToMakeLive):
#This tool selects the object to retopologize
MakeLiveField = textField(TextToMakeLive, q=1, tx=1)
MakeSelectionLive = (ls(sl=1))
if MakeSelectionLive is None:
warning('Please select an object to retopologize')
if MakeSelectionLive == 1:
TextToMakeLive = textField(TextToMakeLive, ed=1,
tx=MakeSelectionLive,
bgc=[0,.2,0])
shape = ls(s=MakeSelectionLive[0])
setAttr((shape + '.backfaceCulling'),3)
createDisplayLayer(n='RetopoLayer', num=1, nr=1)
makeLive(shape)
print('Retopology Activated!')
else:
warning('Select only ONE Object')
mainWindow()
Wow это очень полезная информация. – SirJames