0

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

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

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

code:

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 ) 

Output

enter image description here

Expected Output

enter image description here

1 Answer 1

1

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)

enter image description here

EDIT 2 -----

here a code example :

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() 
Sign up to request clarification or add additional context in comments.

2 Comments

can you please explain this code using comment ? I am new and really confused who is parent of whom and thanks for the answer
i've posted an example

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.