【问题标题】:why formLayout not found?为什么找不到formLayout?
【发布时间】:2014-04-27 16:12:53
【问题描述】:
string $formEX = `formLayout -numberOfDivisions 100 -p formLayout5`;
string $buttonEX = `button -l "button" -h 26`;

$formLayout8 = `formLayout -q -ca formLayout5`;

formLayout -e
-attachForm $buttonTime "top" 0
-attachForm $buttonTime "left" 0
-attachForm $buttonTime "bottom" 0
-attachForm $buttonTime "right" 0
$formEX

////////////////////////////execute till here//////////////////////////////////
/////////////////seperately execute this code/////////////////////

formLayout -e -attachForm $formTime "top" 0
-attachForm $formTime "left" 0
formLayout8

我不明白为什么代码会出错?如何获取 ui 元素名称?“formlayout8”正在使用查询 例如像(formLayout -q -p formLayout8)这样的标志,但我不能将我自己的 formLayout 与现有的合并......任何帮助表示赞赏...... 谢谢。

【问题讨论】:

    标签: maya mel form-layout


    【解决方案1】:

    请参阅 mel 文档中的示例以获取简单的细分 here

    由于缺少代码,我们的调试有点困难。

    如果您像链接的示例那样格式化您的代码,这将很容易理解,mel UI 创建从来都不是编写的乐趣。

    您的问题在于您试图将项目附加到表单名称formLayout8,您已将其定义为变量$formLayout8,只需在名称前添加美元符号,并记住用分号;

    在不知道你的代码的其余部分是什么样子的情况下,我只能假设你的代码中已经存在的错误是问题所在:

    string $formEX = `formLayout -numberOfDivisions 100 -p formLayout5`;
    string $buttonEX = `button -l "button" -h 26`;
    
    $formLayout8 = `formLayout -q -ca formLayout5`;
    
    formLayout -edit
        -attachForm $buttonTime "top" 0
        -attachForm $buttonTime "left" 0
        -attachForm $buttonTime "bottom" 0
        -attachForm $buttonTime "right" 0
    $formEX;    
    
    formLayout -edit
        -attachForm $formTime "top" 0
        -attachForm $formTime "left" 0
    $formLayout8;
    

    如果您有一个名为formLayout8 的表单,类似于:

    string $form = `formLayout  -numberOfDivisions 100 "formLayout8"`;
    

    只需在名称两边加上双引号:

    formLayout -edit
        -attachForm $formTime "top" 0
        -attachForm $formTime "left" 0
    "formLayout8";
    

    【讨论】:

    • 实际上我在maya安装文件夹中看到了statusline mel脚本,在脚本中发现了一些formLayout,在进行了一些调试之后,我发现了statusline按钮名称和formLayout名称。 $formEX 由我声明,并且 $formLayout8(实际上是我声明的 formLayout8)已经声明。我的问题 formLayout8 在 iam 查询时工作但不在编辑模式下。如果不回复我,希望我能理解@Shannon Hochkins....谢谢。
    • 抱歉我没有关注@AnveshChary,你收到的错误信息是什么?
    • 你的意思是你有一个名为formLayout8的formLayout?
    • formLayout8 在启动 maya 时已声明,此 formlayout 用于状态行 ui 元素。如果你安装了 Maya,你可以试试这段代码,你就会明白我在说什么......
    • UI 控件在创建时获取它们的名称 - 如果您打开然后关闭 UI,下一个版本可能不会获取名称 formLayout8。明确一点总是更好
    猜你喜欢
    • 1970-01-01
    • 2011-06-17
    • 2020-11-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-21
    • 1970-01-01
    相关资源
    最近更新 更多