无法在gui的Maya python脚本中获得预期的输出 [英] Not getting expected output in Maya python scripting for gui

查看:108
本文介绍了无法在gui的Maya python脚本中获得预期的输出的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用python脚本在Maya中制作gui,但没有得到预期的输出.

I am making a gui in maya using python script but i am not getting the expected output.

我想在Tab布局之外显示该Submit Button,但是我做错了什么.有人可以纠正我吗?

I want to display that Submit Button outside the Tab layout but i am doing something wrong .Can anyone correct me ?

我想在第一个文本字段的末尾添加一个按钮choose,就像在预期输出中添加的一样.

End of the first text field i want to add a button choose like added in expected output .

代码:

import maya.cmds as cmds

# Make a new window

window = cmds.window( title="Render", iconName='BTD', widthHeight=
(400,500),titleBar=True,minimizeButton=True,maximizeButton=True )
cmds.columnLayout( adjustableColumn=True)

form = cmds.formLayout()
tabs = cmds.tabLayout(innerMarginWidth=10, innerMarginHeight=10)
cmds.formLayout(form,edit=True,attachForm=((tabs, 'top', 0), (tabs, 'left', 
0), (tabs, 'bottom', 0), (tabs, 'right', 0)) )
child1 = cmds.rowColumnLayout(numberOfColumns=2)
cmds.button(label='1')
cmds.button(label='2')
cmds.button(label='3')
cmds.button(label='9')
cmds.button(label='9')
cmds.button(label='9')
cmds.button(label='9')
cmds.button(label='9')
cmds.setParent( '..' )


child2 = cmds.rowColumnLayout(numberOfColumns=1,columnOffset = 
(1,'left',10))
#cmds.text("Output Directory",width = 50,height=50,font = "boldLabelFont")
cmds.text("Output Directory",width=200, height=50,font="boldLabelFont", 
align='left')
name = cmds.textField(w = 300,h = 20)

cmds.text("Notify on job completion",width = 200,height=50,font = 
"boldLabelFont",align='left')
name = cmds.textField(w = 370,h = 20)




cmds.setParent( '..' )


child3 = cmds.rowColumnLayout(numberOfColumns=2)
cmds.button(label='7')


cmds.button(label='8')
cmds.button(label='9')
cmds.setParent( '..' )

cmds.tabLayout( tabs, edit=True, tabLabel=((child1, 'General'), (child2, 
'Advanced'),(child3, 'Job Software')) )
cmds.setParent( '..' )


#cmds.setParent( '..' )   
cmds.button("Submit Job",width=100, height=50, align='right') 

cmds.showWindow( window )

输出

预期产量

推荐答案

我没有使用setParent命令,这对我来说太混乱了, 我通过在form and cmds.button("Submit Job....)"中添加父标记来纠正您的问题 大多数时候,我只是使用列和行布局

Im not using setParent command, it is too confusing for me, I've corrected you problem by adding parent flag in : form and cmds.button("Submit Job....)" Most of the time im using column and row layout only

import maya.cmds as cmds

# Make a new window

window = cmds.window( title="Render", iconName='BTD', widthHeight=
(400,500),titleBar=True,minimizeButton=True,maximizeButton=True )
cmds.columnLayout( adjustableColumn=True)

columnMain = cmds.columnLayout() # <<================================
form = cmds.formLayout(p=columnMain)
tabs = cmds.tabLayout(innerMarginWidth=10, innerMarginHeight=10)
cmds.formLayout(form,edit=True,attachForm=((tabs, 'top', 0), (tabs, 'left', 
0), (tabs, 'bottom', 0), (tabs, 'right', 0)) )
child1 = cmds.rowColumnLayout(numberOfColumns=2)
cmds.button(label='1')
cmds.button(label='2')
cmds.button(label='3')
cmds.button(label='9')
cmds.button(label='9')
cmds.button(label='9')
cmds.button(label='9')
cmds.button(label='9')
cmds.setParent( '..' )


child2 = cmds.rowColumnLayout(numberOfColumns=1,columnOffset = 
(1,'left',10))
#cmds.text("Output Directory",width = 50,height=50,font = "boldLabelFont")
cmds.text("Output Directory",width=200, height=50,font="boldLabelFont", 
align='left')
name = cmds.textField(w = 300,h = 20)

cmds.text("Notify on job completion",width = 200,height=50,font = 
"boldLabelFont",align='left')
name = cmds.textField(w = 370,h = 20)




cmds.setParent( '..' )


child3 = cmds.rowColumnLayout(numberOfColumns=2)
cmds.button(label='7')


cmds.button(label='8')
cmds.button(label='9')
cmds.setParent( '..' )

cmds.tabLayout( tabs, edit=True, tabLabel=((child1, 'General'), (child2, 
'Advanced'),(child3, 'Job Software')) )
cmds.setParent( '..' )


#cmds.setParent( '..' )   
cmds.button("Submit Job",width=100, height=50, align='right', p=columnMain) # <<================================

cmds.showWindow( window )

编辑-----

以下是我将使用多少布局的示例:行/列(请注意,红色矩形是选项卡小部件)

EDIT -----

Here is example of how many layout, I would use : row/colum (note that the red rectangle is the tab widget)

这里是一个代码示例:

import maya.cmds as cmds

# Make a new window

window = cmds.window( title="Render", iconName='BTD', widthHeight=(400,500),titleBar=True,minimizeButton=True,maximizeButton=True )

# 1.0
columnMain = cmds.columnLayout() # the cyan rectangle

# 1.1 : First WIDGET : Conductor refresh - light green

conductorLayout = cmds.rowLayout(numberOfColumns=2, p=columnMain)
cmds.button(label='image', width=350, p=conductorLayout)
cmds.button(label='refresh', p=conductorLayout)


#1.2 : Second WIDGET : tab widget - in red
form = cmds.formLayout(p=columnMain)
tabs = cmds.tabLayout(innerMarginWidth=5, innerMarginHeight=5, p=form)

#     1.2.1 : first tab widget - blue color
child1 = cmds.columnLayout(p=tabs)
#         1.2.1.2 : the green one with image picker
cmds.button(p=child1)
pickpath = cmds.rowLayout(numberOfColumns=2, p=child1)
name = cmds.textField(w = 370,h = 20, p=pickpath)
cmds.button( label='Submit Job',width=130,align='right', p=pickpath)
cmds.button(p=child1)

#     1.2.2 : second tab widget - blue Color

child2 = cmds.rowColumnLayout(numberOfColumns=2,p=tabs)
cmds.button(p=child2)
cmds.button(p=child2)


cmds.tabLayout( tabs, edit=True, tabLabel=((child1, 'One'),(child2, 'Two')))

#1.3 Pink
submit_widget = cmds.rowLayout(numberOfColumns=2, p=columnMain)
cmds.checkBox(label='Scout Job', p=submit_widget)
cmds.button( label='Submit Job',width=130,align='right', p=submit_widget)
cmds.showWindow()

这篇关于无法在gui的Maya python脚本中获得预期的输出的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆