gpt4 book ai didi

python +玛雅用户界面?按钮在别人后面

转载 作者:行者123 更新时间:2023-11-30 23:24:48 32 4
gpt4 key购买 nike

我不太确定我哪里出错了。在 python GUI 制作方面,我对 Maya 场景很陌生。我的代码中出了什么问题?我希望底部按钮跨越对话框的整个宽度。我认为布局是正确的,但是当您运行代码时,按钮似乎卡在某些列后面。

'''
John Martini
Quad Sphere 1.0

More info on how to use it can be found at
http://JokerMartini.com
'''

import maya.cmds as cmds
import random

class jmQuadSphere(object):

def __init__(self):
pass

def show(self):
self.GUI()

def GUI(self):
#check to see if our window exists
window = "jmQuadSphere"
if cmds.window(window, exists=True):
cmds.deleteUI(window)

# create our window
window = cmds.window("jmQuadSphere", title = "Quad Sphere", mnb = False, mxb = False, sizeable = False)

cmds.setParent(window)
# Row layout that specifies 3 columns and the width for each column.
cmds.rowColumnLayout('rlOpts', nc=2, cw=[(1,90),(2,90)])
# Each button after the row layout is automatically insterted into the columns numerically
cmds.text( label='Radius:', align='left' )
cmds.floatField('spRadius', minValue=0, maxValue=999999999, value=10, precision=3, step=.01 )

cmds.text( label='Height:', align='left' )
cmds.floatField('spHeight', minValue=0, maxValue=999999999, value=10, precision=3, step=.01 )

cmds.text( label='Width:', align='left' )
cmds.floatField('spWidth', minValue=0, maxValue=999999999, value=10, precision=3, step=.01 )

cmds.text( label='Depth:', align='left' )
cmds.floatField('spDepth', minValue=0, maxValue=999999999, value=10, precision=3, step=.01 )

cmds.text( label='Height Segs:', align='left' )
cmds.intField('spHeightSegs', minValue=0, maxValue=999999999, value=4 )

cmds.text( label='Width Segs:', align='left' )
cmds.intField('spWidthSegs', minValue=0, maxValue=999999999, value=4 )

cmds.text( label='Depth Segs:', align='left' )
cmds.intField('spDepthSegs', minValue=0, maxValue=999999999, value=4 )

cmds.text( label='Roundness:', align='left' )
cmds.floatField('spRoundness', minValue=0, maxValue=100, value=100, precision=2, step=.01 )

cmds.text( label='Flatness:', align='left' )
cmds.floatField('spFlatness', minValue=0, maxValue=100, value=0, precision=2, step=.01 )


cmds.setParent(window)
cmds.rowColumnLayout('rlRun', nc=1)

cmds.button('btnCreateQuadSphere', l="Create", w=180, h=30)

# show window
cmds.showWindow(window)

#execute tool
jmQuadSphere().show()

cmds.scriptEditorInfo(ch=True)

屏幕截图:

screenshot

最佳答案

天哪,我讨厌 Maya 的布局。 formLayout 一路走来! (如果不是QT)

看起来 rowColumnLayout 是第一列的宽度,即使它不是第一个 rowColumnLayout 的子项。您可以显式设置宽度:

cmds.setParent(window)
cmds.rowColumnLayout('rlRun', nc=1)

cmds.button('btnCreateQuadSphere', l="Create", w=180, h=30)
<小时/>

考虑到您只有一列,当您可以只使用 columnLayout 时,没有理由使用 rowColumnLayout:

cmds.columnLayout('rlRun', width=180)

屏幕截图:

enter image description here

关于 python +玛雅用户界面?按钮在别人后面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23273531/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com