我正在编写一个脚本,需要从tex字段查询的电话号码或maya的int字段。我使用python,我似乎找不到任何有用的东西。你能帮我吗? 谢谢 TED 好的这是我提出的混乱。
def makeTui():
if(cmds.window('window2',q=1,ex=1)):cmds.deleteUI('window2')
cmds.window('window2',menuBar=1)
cmds.formLayout('formLayout1')
cmds.text(label='Phone Number')
num = cmds.intField('textField4',width=100,height=20,changeCommand = num_callback)
cmds.text('text95',label='Service Provider')
cmds.optionMenu('optionMenu1')
cmds.menuItem(label='AT&T')
cmds.menuItem(label='Verizon')
cmds.menuItem(label='Sprint')
cmds.menuItem(label='Cricket')
cmds.menuItem(label='Tmobil')
cmds.iconTextButton('iconTextButton45',parent='formLayout1',image='render.png',command='num_callback()')
cmds.formLayout('formLayout1',e=1,attachForm=[['textField4', 'left', 100], ['text95', 'top', 30], ['optionMenu1', 'top', 30], ['optionMenu1', 'left', 100], ['iconTextButton45', 'left', 100], ['iconTextButton45', 'top', 60]])
cmds.showWindow('window2')
makeTui()
def num_callback():
print cmds.intField(num, q=True, value=True)
答案 0 :(得分:0)
您希望在与UI项相同的范围内定义回调函数 - 这样可以节省大量工作,以便记住您需要处理的小部件的名称。
def create_ui():
window = cmds.window()
column = cmds.columnLayout(adj=True)
# three items arranged horizontally
row = cmds.rowLayout(nc = 3)
numfield = cmds.textFieldGrp(label = 'phone number')
cmds.text("provider")
provider = cmds.optionMenu()
for p in ('AT&T', 'Verizon', 'Sprint', 'T-Mobile'):
cmds.menuItem(label = p)
cmds.setParent("..")
# define this function here so it knows the widgets for
# the text field and the option menu
def render_button():
phoneno = cmds.textFieldGrp(numfield, q=True, text=True)
# remove any punctuation:
digits =[int(c) for c in phoneno if c.isdigit()]
providername = cmds.optionMenu(provider, q=True, v=True)
print digits, providername
cmds.iconTextButton(image='render.png', c = render_button)
cmds.showWindow(window)
此处回调函数知道用于输入数字的字段的“名称”和用于选择提供者的选项菜单。实际工作将进入render_buttons()
功能。顺便说一下,我使用了一个文本字段,因为许多人都希望输入类似1(555)111-2222和intField
不会允许的内容。