基础指令 (加方括号表示可以没有)
window [后缀指令] [窗口名];
[布局声明;]
[基础元素;]
showWindow [窗口名];
window;
showWindow;
这里maya会给window起一个默认的名字。但是最好是自己取一个窗口名,不然回头调用起来也挺麻烦的
按照我们平时使用maya的经验,当某一个窗口已经打开了,再次点开一遍,并不会报错,而且这个窗口还会从新移动到比较显眼的位置,想要达到这个效果,需要写一个判断语句。
如果窗口存在,则先删除窗口,然后再从新创建一个
window zyr;
if(`window -ex zyr`) //-ex 查看是否存在zyr
{ //mel语句里面很多时候会加`` 它的意思是取mel函数的返回值
deleteUI zyr;
}
showWindow zyr;
就是指定一下window的各个参数值,比如说标题名称,长宽高,背景颜色等等
具体的参数看window帮助文档
string $window = `window -title "zyr"
-iconName "美女" //the windows icon tittle
-widthHeight 200 55`; //取window语句的返回值到$window中showWindow $window;
也可以这样写
window
-title "zyr"
-iconName "美女" //the windows icon tittle
-widthHeight 200 55zyr;
showWindow zyr;
窗口建好之后也可以进行一些修改
window -edit -widthHeight 900 777 zyr;
就是安排窗口内部的组件该怎么放置,比如说
columnLayout -adjustableColumn true; // 竖直排列 每个元素都拉伸到窗口一样的宽度
详见官方文档
窗口内的基本元素有:按钮button、滑条int/floatSliderGrp、文本框int/floatField、文字text、分隔符separator等等
具体的内容在官方文档里面搜索即可
基础元素这一部分的内容就是写在“布局声明”和showWindow之间的,比如声明了两个按钮
button -label "Do Nothing";
button -label "Close";末尾我会放一下完整的代码
但是现在按钮点了并没有什么用,要给每一个按钮添加一个脚本,也就是click之后自动调用某个脚本(一般是调用一个函数,但是如果脚本很简单也可以直接写),以实现点击按钮有相应效果。
比如给刚才的close按钮添加关闭窗口的脚本
button -label "Close" -command ("deleteUI -window " + $window) ;
//因为是写在双引号中的,所以可以认为script是一大串的字符
string $window = `window -title "zyr"
-iconName "美女"
-widthHeight 800 400`;
columnLayout -adjustableColumn true;
button -label "Do Nothing";
button -label "Close" -command ("deleteUI -window " + $window);
setParent ..;
showWindow $window;
1.插件作用设计
快速的创建小球,可以在创建之前调节小球的参数
string $window = `window -title "createpoly"
-widthHeight 800 400`;
columnLayout -adjustableColumn true;
text -label "\n 快速创建物体 \n" ;
floatSliderGrp -label "半径: " -field true -min 0.0 -max 10.0 sphereslider;
button -label "polySphere" -command "sphereradius";
button -label "Close" -command ("deleteUI -window " + $window);
setParent ..;
showWindow $window;global proc sphereradius()
{
//get slider's float number
float $spradius=`floatSliderGrp -q -v sphereslider`;
//create sphere
polySphere -radius $spradius;
}
//另一种排布的示例
window;
rowLayout -numberOfColumns 4
-columnWidth4 80 100 80 100
-adjustableColumn 1
-adjustableColumn 3
-columnAlign 1 "right"
-columnAlign 3 "right"
-columnAttach 1 "both" 0
-columnAttach 2 "both" 0
-columnAttach 3 "both" 0
-columnAttach 4 "both" 0;
text -label "width:";
floatField ;
text -label "height:";
floatField ;showWindow;
窗口菜单:menu
主界面菜单:$gMainWindow
这两种菜单都是可以人为添加的
1.窗口菜单
窗口菜单menu是在布局声明之前定义的,另外在后缀指令中必须有"-menuBar true"
menu -label "File" -tearOff true;
menuItem -label "New";
menuItem -label "Open";
menuItem -label "Save";
menuItem -divider true;
menuItem -label "Quit";
menu -label "Help" -helpMenu true;
menuItem -label "About Application...";
2.主界面菜单
优点:1、基于HTTP协议,非常简单 2、速度很快。 3、支持多种接口。 缺点:不支持阻塞式消息读取。
崩溃堆栈如下:解决办法:
错误现象:控制台日志:URI::InvalidURIError (URI::InvalidURIError): lib/gitlab/proxy_http_connection_adapter.rb:14:in `connection' app/services/web_hook_service.rb:73:in `make_request' app/services/web_ho...
1、前端上传的主要代码: 2、后台处理主要代码: String root=ServletActionContext.getServletContext().getRealPath("/");
<!--font { font-family: Arial; line-height: 180%; font-size: 12pt; margin-top: 2; margin-bottom: 2 }body { font-family: font }td { border-left-co
链接:http://download.csdn.net/detail/mycodream/7452387
基于V0.43.3版本 React Native Android端的ReactApplication和ReactActivity的实现原理.
本文主要记录如何使用AWS SDK for Java来创建并启动EC2实例
我在windows下实现了dvb-s的发射和接收。发射使用的是limesdr-mini,接收使用的是hackrf/limesdr-usb。这次和以前的dvb-t发射不同,这次的发射和接收都是用软件实现的,并且都是开源的,以前的dvb-t接收机虽然是rtlsdr,但是是用芯片解调的dvb-t。不过接收机是sdrangel,有点难编译,并且datv express编译好的版本好像也只有wi...
条款31: 千万不要返回局部对象的引用,也不要返回函数内部用new初始化的指针的引用本条款听起来很复杂,其实不然。它只是一个很简单的道理,真的,相信我。先看第一种情况:返回一个局部对象的引用。它的问题在于,局部对象 ----- 顾名思义 ---- 仅仅是局部的。也就是说,局部对象是在被定义时创建,在离开生命空间时被销毁的。所谓生命空间,是指它们所在的函数体。当函数返回时,程序的控制离开了这
让我们先来看一张图片: 看完这张图片,我心里充满疑惑,难道Ruby + Rails真的能够有这么好吗? 心里有这么几个疑问:Ruby是谁开发的? Ruby是什么? Rails是什么? Ruby on Rails与目前已经有的开发语言相比有什么优点?为什么要使用它? Ruby on Rails稳定吗?效率高吗?能够承受大数据量的访问吗? Ruby on Ra
开始游戏内有需求做多边形碰撞功能,但是接入box2d相对游戏的需求来说太重度了。所以准备自己实现碰撞。确定多边形,必然要用到凸包的算法。在github上也找到了一些lua实现,但是这里的算法没有考虑多点共线的问题。所以准备自己实现准备这里提到的所有凸包,都指的平面上的。思路凸包的具体定义,这里不赘述。一种通俗的说法,在木板上钉钉子,我们用一根麻绳绑住