I'm a novice programmer and currently working on a script as a little task for myself. I'm stuck with a part of a script. I need to display the selected object name in a text field
(https://i.stack.imgur.com/wbuIS.jpg)
With the first button, you are supposed to select the object, and as soon as you do that the name of the object should be displayed in the text field below.
Don't know how to write it.
from maya import cmds
import pymel.core as pm
############################
# UI #
############################
class drawUI(object):
def __init__(self):
myWindow = pm.window(title="Weapon Position Fix")
pm.columnLayout("basicTools", adjustableColumn=True)
pm.gridLayout("CreateGrid", numberOfRowsColumns=(1, 1), cellWidthHeight=(180, 30), parent="basicTools")
pm.separator(style='in')
pm.text(label="Select object")
self.ObjClass = pm.textField(text = 'Press Set Character' ,editable = False)
pm.button(c='nameSp()', label='Set Character', parent="CreateGrid")
pm.separator(style='in')
pm.button(c='weaponCor(side = R)', label='Right Hand Weapon', parent="CreateGrid")
pm.separator(style='in')
pm.button(c='noRWeapon(side = R)', label='Right Hand No Weapon', parent="CreateGrid")
pm.separator(style='in')
pm.button(c='weaponCor(side = L)', label='Left Hand Weapon', parent="CreateGrid")
pm.separator(style='in')
pm.button(c='noWeapon(side = L)', label='Left Hand No Weapon', parent="CreateGrid")
pm.separator(style='in')
pm.showWindow(myWindow)
L = 'L'
R = 'R'
nameS = []
def nameSp():
nameSpace = ''
nameS = []
CH = pm.ls(sl=True, fl=True)
if pm.referenceQuery(CH, isNodeReferenced=True):
nameSpace = CH[0].split(':')[0] + ':'
nameS.append(nameSpace)
print nameS[0]
return nameSp
def update_UI(self, *_, **__):
sel = pm.ls(selection=True)[0] or []
if sel:
pm.textField(self.ObjClass, e=True, text = CH)
############################
CH = pm.ls(sl=True, fl=True)
def weaponCor(side):
Target = pm.ls(sl=True, fl=True)[0]
for name in nameS:
name = nameS[0]
print name
Weapon = name + side + '_Weapon_ctrl'
print Weapon
# pm.select(clear=True)
pm.cutKey(Weapon)
par = pm.parentConstraint([Target] + [Weapon], mo=False)
startTime = pm.playbackOptions(query=True, minTime=True)
endTime = pm.playbackOptions(query=True, maxTime=True)
pm.bakeResults(Weapon, simulation=True, t=(startTime, endTime))
pm.showHidden(above=True)
pm.delete(par)
return weaponCor
def noWeapon(side):
pm.select(clear=True)
for name in nameS:
name = nameS[0]
src = name + 'Wrist_' + side
trg = name + side + '_Weapon_ctrl'
print
src
pm.cutKey(trg)
loc = pm.spaceLocator(n='reference')[0]
pm.parent(loc, src)
pm.xform(loc, t=(-0.08, 0, 0.035), ro=(0, 90, 180))
# pm.ls('ctrl')
par = pm.parentConstraint([loc] + [trg], mo=0)
startTime = pm.playbackOptions(query=True, minTime=True)
endTime = pm.playbackOptions(query=True, maxTime=True)
pm.bakeResults(trg, simulation=True, t=(startTime, endTime))
pm.showHidden(above=True)
pm.delete(par, loc)
return noWeapon
def noRWeapon(side):
pm.select(clear=True)
for name in nameS:
name = nameS[0]
src = name + 'Wrist_' + side
trg = name + side + '_Weapon_ctrl'
print
src
pm.cutKey(trg)
loc = pm.spaceLocator(n='reference')[0]
pm.parent(loc, src)
pm.xform(loc, t=(0.08, 0, -0.035), ro=(0, 90, 180))
# pm.ls('ctrl')
par = pm.parentConstraint([loc] + [trg], mo=0)
startTime = pm.playbackOptions(query=True, minTime=True)
endTime = pm.playbackOptions(query=True, maxTime=True)
pm.bakeResults(trg, simulation=True, t=(startTime, endTime))
pm.showHidden(above=True)
pm.delete(par, loc)
return noWeapon
test = drawUI()