ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

#跟着教程学# 6、maya/python window命令

2019-10-23 18:02:47  阅读:324  来源: 互联网

标签:窗口 python win GUI cmds window maya


window命令可以创建一个新的窗口,但是不显示它。需要使用showWindow命令显示。注意:如果窗口需要一些控件布局来布置控件(buttons按钮,sliders滑块,fields字段等),控制布局的命令,例如columnLayout,formLayout,rowLayout等。

 

maya实例:

1、创建一个新的窗口。

 

import maya.cmds as cmds

# Make a new window
#
window = cmds.window( title="Long Name", iconName='Short Name', widthHeight=(200, 55) )
cmds.columnLayout( adjustableColumn=True )
cmds.button( label='Do Nothing' )
cmds.button( label='Close', command=('cmds.deleteUI(\"' + window + '\", window=True)') )
cmds.setParent( '..' )
cmds.showWindow( window )

 

2、调整maya主窗口大小。

 

 

# Resize the main window 调整maya主窗口
#
# This is a workaround to get MEL global variable value in Python
#这是Python得到MEL全局变量值的方法
gMainWindow = maya.mel.eval('$tmpVar=$gMainWindow')
cmds.window( gMainWindow, edit=True, widthHeight=(900, 777) )

 

3、创建一个窗口,并关掉此窗口。

 注意:如果字符串‘GUI’没有,print win出来的是window1,反复执行showWindow以上的代码,会返回window2、window3……,它没有唯一性。加入了字符串'GUI'后,就定义了这个窗口在后台的名字叫GUI,具有了唯一性。

# coding=utf-8
import maya.cmds as cmds

#创建一个名叫GUI的窗口,标题为‘自定义’
#
win = cmds.window('GUI',title='自定义' )
print win 
cmds.showWindow()

#关闭窗口
cmds.deleteUI(win)

 

4、删除窗口,再次新建此窗口。

两种方法,一种是先判断窗口是否存在,如果存在则关闭窗口。然后重新创建此窗口。

另一种方法是,无论有没有,直接尝试删除GUI窗口,如果没有就跳过。再执行创建GUI窗口。

# coding=utf-8
import maya.cmds as cmds

#如果GUI窗口存在,则删除GUI窗口
#
if cmds.window('GUI' , exists = True ):
    cmds.deleteUI('GUI')

win = cmds.window('GUI',title='自定义' )
cmds.showWindow()
# coding=utf-8
import maya.cmds as cmds

#尝试删除GUI的窗口,如果没有就跳过。
#
try:
    cmds.deleteUI('GUI')
except:
    pass
win = cmds.window('GUI',title='自定义' )
cmds.showWindow()

 

标签:窗口,python,win,GUI,cmds,window,maya
来源: https://www.cnblogs.com/3lina/p/11727793.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有