创建自定义用户界面的第一步是创建窗口。该窗口中包含用户界面元素,例如文本、按钮和其他控件。
创建窗口
在“脚本编辑器”(Script Editor)的 MEL 选项卡中键入以下命令。
window -resizeToFitChildren 1; showWindow;
将出现一个窗口。
window 命令中的 -resizeToFitChildren 标志指定该窗口会自动调整大小,以适应窗口内的所有元素。此标志必须拥有一个值:该值为 1 时启用标志,该值为 0 时禁用标志。
创建窗口时,此窗口不可见,直到您使用 showWindow 命令才可见。不包含任何参数的 showWindow 命令可用于显示上一次创建的窗口。
通过单击右上角的 X 来关闭窗口。
引用控件
用 MEL 脚本创建窗口时,必须确保每个窗口和用户界面控件都拥有唯一的名称。若未明确给出窗口名称,则使用默认名称。(在之前的步骤中,窗口名称为 window1,即使您未使用过该窗口也仍然如此。)无法引用或修改未知名称的窗口或控件。
通过名称来引用用户界面元素
通过在“脚本编辑器”(Script Editor)的 MEL 选项卡中键入以下文本,可以创建一个含文本的窗口以及一个可用于关闭该窗口的按钮:
window -resizeToFitChildren 1 testwindow; columnLayout; text -label "This is a test window you can close by clicking the button below."; button -label "Close" -command "deleteUI testwindow"; showWindow;
按窗口中的“关闭”(Close)按钮。
窗口将关闭。
讨论:创建简单的窗口
您在窗口中创建了用户界面的元素,这些元素称为控件。必须将所有的用户界面控件创建在一个布局内。布局指导 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";