创建自定义用户界面的第一步是创建窗口。该窗口中包含用户界面元素,例如文本、按钮和其他控件。
window -resizeToFitChildren 1; showWindow;
window 命令中的 -resizeToFitChildren 标志指定该窗口会自动调整大小,以适应窗口内的所有元素。此标志必须拥有一个值:该值为 1 时启用标志,该值为 0 时禁用标志。
创建窗口时,此窗口不可见,直到您使用 showWindow 命令才可见。不包含任何参数的 showWindow 命令可用于显示上一次创建的窗口。
用 MEL 脚本创建窗口时,必须确保每个窗口和用户界面控件都拥有唯一的名称。若未明确给出窗口名称,则使用默认名称。(在之前的步骤中,窗口名称为 window1,即使您未使用过该窗口也仍然如此。)无法引用或修改未知名称的窗口或控件。
您在窗口中创建了用户界面的元素,这些元素称为控件。必须将所有的用户界面控件创建在一个布局内。布局指导 Maya 如何排列窗口中的用户界面元素。
有多种不同类型的布局(例如,formLayout 和 rowLayout),但用起来最简单且最方便的是 columnLayout。columnLayout 用于在某一列中逐个向下排布控件。有关布局的详细信息,请参见《Maya 用户手册》中的“布局”(Layouts)。
在布局内,您使用 text 命令创建了一个文本控件。label 标志的参数指的是窗口中显示的文本。
使用 button 命令创建按钮。command 标志的参数指的是按下按钮时执行的 MEL 命令。本例中,按下按钮时将执行 deleteUI 命令,该命令将删除刚才创建的窗口。
在该脚本中,各个命令跨越多行。只要行结束符在命令的最后,该命令就可以跨越多行。MEL 中有一个约定:将命令关键字置于一行,将修饰标志和值成对置于命令下方单独的行中,如本例中所示。
在不使用特殊字符的情况下,不能将字符串分割到多行中。若要将一个字符串分割到多行中,请使用反斜杠 (\) 字符。例如:
print "With the \\ character, you can \ split a string over \ multiple lines.";
若要在字符串中出现反斜杠,必须使用双反斜杠。反斜杠字符为转义字符。转义字符告知脚本解释器跟在后面的是文字字符。可以结合转义字符与其他字符来创建某些特殊字符。例如,显示字符串内的引号:
print "Jim said \"Hello!\" to the Maya user";