创建窗口
 
 
 

创建自定义用户界面的第一步是创建窗口。该窗口中包含用户界面元素,例如文本、按钮和其他控件。

创建窗口

  1. “脚本编辑器”(Script Editor)的 MEL 选项卡中键入以下命令。
    window -resizeToFitChildren 1; showWindow;
    

    将出现一个窗口。

    window 命令中的 -resizeToFitChildren 标志指定该窗口会自动调整大小,以适应窗口内的所有元素。此标志必须拥有一个值:该值为 1 时启用标志,该值为 0 时禁用标志。

    创建窗口时,此窗口不可见,直到您使用 showWindow 命令才可见。不包含任何参数的 showWindow 命令可用于显示上一次创建的窗口。

  2. 通过单击右上角的 X 来关闭窗口。

引用控件

用 MEL 脚本创建窗口时,必须确保每个窗口和用户界面控件都拥有唯一的名称。若未明确给出窗口名称,则使用默认名称。(在之前的步骤中,窗口名称为 window1,即使您未使用过该窗口也仍然如此。)无法引用或修改未知名称的窗口或控件。

通过名称来引用用户界面元素

  1. 通过在“脚本编辑器”(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;
    
  2. 按窗口中的“关闭”(Close)按钮。

    窗口将关闭。

讨论:创建简单的窗口

您在窗口中创建了用户界面的元素,这些元素称为控件。必须将所有的用户界面控件创建在一个布局内。布局指导 Maya 如何排列窗口中的用户界面元素。

有多种不同类型的布局(例如,formLayoutrowLayout),但用起来最简单且最方便的是 columnLayoutcolumnLayout 用于在某一列中逐个向下排布控件。有关布局的详细信息,请参见《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";