Maya python在同一风中创建控制滑块

2024-09-27 07:22:52 发布

您现在位置:Python中文网/ 问答频道 /正文

我是python的初学者。每次按下def previewvel(忽略)定义的按钮时,我都尝试在同一窗口中创建滑块(控制斜面): 肯定有什么我不明白的

我更新了密码。现在可以测试了。你只需要选择一个多边形并按下按钮。我想,每次我按下按钮的滑块是在窗口中添加

代码如下:

from os import path

import maya.cmds as cmds


import maya.mel as mel

import pymel.core as pm


def previewbevel(ignore): 


    pm.polySelectConstraint(type=0x8000, mode=3, sm=1)
    pm.mel.resetPolySelectConstraint()

    BevelA= mel.eval("polyBevel3 -fraction 0.3 -offsetAsFraction 1 -autoFit 1 -depth 1 -mitering 0 -miterAlong 0 -chamfer 1 -segments 2 -worldSpace 1 -smoothingAngle 45 -subdivideNgons 1 -mergeVertices 1 - mergeVertexTolerance 0.001;")
    bevel=BevelA[0]


    if pm.window('myWindow', exists=1):
       pm.deleteUI('myWindow', window=1)

    pm.window('myWindow', title="attrFieldSliderGrp")
    pm.columnLayout(adjustableColumn=True)

    slider=str(pm.attrFieldSliderGrp(columnAlign=(1, "right"), 
       min=0, 
       columnWidth=[(1, 84), (4, 1)], 
       label="Bevel", 
       at=(bevel + ".fraction"), max=20, 
       adjustableColumn=3))

    slider1=str(pm.attrFieldSliderGrp(columnAlign=(1, "right"), 
       min=0, 
       columnWidth=[(1, 84), (4, 1)], 
       label="Radial", 
       at=(bevel + ".mitering"), max=3, 
       adjustableColumn=3))


    slider2=str(pm.attrFieldSliderGrp(columnAlign=(1, "right"), 
       min=0, 
       columnWidth=[(1, 84), (4, 1)], 
       label="Segments", 
       at=(bevel + ".segments"), max=20, 
       adjustableColumn=3))
    pm.showWindow()





if cmds.window("test", exists =True):
    cmds.deleteUI("test")

if cmds.dockControl("testDock", exists =True):
    cmds.deleteUI("testDock")

myWindow = cmds.window("test", t="test", tlb=True, menuBar=True)
buttonForm = cmds.formLayout( parent = myWindow)
allowedAreas = ['all']
cmds.dockControl("testDock", l = "test",area='left', content=myWindow, allowedArea=allowedAreas,floating=True,fixedHeight= False ,fixedWidth= False,width=200, height=150)


tab=cmds.tabLayout('windowLayout',parent = buttonForm,width=205,bs="none")
cmds.separator( style='none', height=2,parent=buttonForm) 


topo=cmds.columnLayout('test',parent = tab)
cmds.button( label='Peview Bevel', command=previewbevel, parent=topo,width=205)  
cmds.window (myWindow, edit=True, ) 

事先谢谢你的帮助。你知道吗


Tags: testimporttrueaswindow按钮labelparent
1条回答
网友
1楼 · 发布于 2024-09-27 07:22:52

我不知道你为什么把你的滑块转换成字符串。 这是一个工作界面。因为我不明白你在做什么,所以很难纠正你的代码

import pymel.core as pm

def previewbevel(ignore): 


    pm.polySelectConstraint(type=0x8000, mode=3, sm=1)
    bevel = pm.bevel()[0]
    pm.mel.resetPolySelectConstraint()

    if pm.window('bevel', exists=1):
       pm.deleteUI('bevel', window=1)

    pm.window('bevel', title="attrFieldSliderGrp")
    main = pm.columnLayout(adjustableColumn=True)

    slider = pm.attrFieldSliderGrp(at=bevel + ".tolerance", p=main)

    slider1 = pm.attrFieldSliderGrp(at=bevel + ".extrudeDepth", p=main)

    slider2 = pm.attrFieldSliderGrp(at=bevel + ".width", p=main)
    pm.showWindow()


previewbevel(0)

相关问题 更多 >

    热门问题