关键字不能是表达式 - 滑块和选择菜单
keyword cant be an expression - sliders and selection menu
我正在尝试创建代码,让用户可以选择他们想要创建的基元以及对象的大小。关键字不能是表达式是我所得到的,但我找不到它所指的位置。
最初是使用移动命令创建立方体对象时的语法错误,我删除了这个,现在只有这个错误
import maya.cmds as mt
def ShowUI():
if mt.window("Main", exists = True):
mt.deleteUI("Main")
mt.window("Main", title = "Maya Primitives", w = 300, h = 500)
mt.columnLayout("MainLayout", w = 300, h =500)
mt.optionMenu("PolygonMenu", w = 250, label = "Polygon Selection:")
mt.menuItem(label = "Sphere")
mt.menuItem(label = "Cube")
mt.menuItem(label = "Cylinder")
mt.button("Create", label = "Create", w = 300, command=ObjectCreation)
mt.button("Delete", label = "Delete", w = 300, command=DeleteButton)
mt.button("Clear", label = "Clear", w = 300, command=SceneClear)
mt.showWindow("Main")
def DeleteButton(*args):
mt.delete()
def SceneClear(*args):
mt.delete(all=True, c=True)
def ObjectCreation(*args):
currentValue = mt.optionMenu("PolygonMenu", query=True, value=True)
if currentValue == "Sphere":
SphereRadius = mt.intSliderGrp(Sphradius, q = True, Value=True)
finalSphere= mt.polySphere(r=SphereRadius, name = "Sphere", ch=False)
elif currentValue == "Cube":
CubeWidth = mt.intSliderGrp(CubeW, q = True, Value=True)
CubeHeight = mt.intSliderGrp(CubeH, q = True, Value=True)
CubeDepth = mt.intSliderGrp(CubeD, q = True, Value=True)
finalSphere= mt.polyCube(w=CubeWidth, h=CubeHeight, d=CubeDepth, name = "Cube", ch=False)
elif currentValue == "Cylinder":
CyclinderRadius = mt.intSliderGrp(Cylradius, q = True, Value=True)
CyclinderHeight = mt.intSliderGrp(CylH, q = True, Value=True)
finalCylinder= mt.polyCylinder(r=CylinderRadius, h=CylinderHeight, name = "Cylinder", ch=False)
def SphereSlider():
Sphradius = mt.intSliderGrp(1="Radius",min=0,max=25, field=True)
def CubeSlider():
CubeW = mt.intSliderGrp(1="Width", min=0, max=25, field=True)
CubeH = mt.intSliderGrp(1="Height", min=0, max=25, field=True)
CubeD = mt.intSliderGrp(1="Depth", min=0, max=25, field=True)
def CylinderSlider():
Cylradius = mt.intSliderGrp(1="Radius",min=0,max=25, field=True)
CylH = mt.intSliderGrp(1="Height", min=0, max=25, field=True)
ShowUI()
如果您 post 带有堆栈跟踪的确切错误消息,这将有很大帮助。在这种情况下,它表示错误发生在第 46 行的这一行:
球形半径 = mt.intSliderGrp(1="Radius",min=0,max=25, field=True)
这意味着您使用 1="Radius" 是不正确的,因为 1 不是关键字。我想你想称它为 label="Radius".
我正在尝试创建代码,让用户可以选择他们想要创建的基元以及对象的大小。关键字不能是表达式是我所得到的,但我找不到它所指的位置。
最初是使用移动命令创建立方体对象时的语法错误,我删除了这个,现在只有这个错误
import maya.cmds as mt
def ShowUI():
if mt.window("Main", exists = True):
mt.deleteUI("Main")
mt.window("Main", title = "Maya Primitives", w = 300, h = 500)
mt.columnLayout("MainLayout", w = 300, h =500)
mt.optionMenu("PolygonMenu", w = 250, label = "Polygon Selection:")
mt.menuItem(label = "Sphere")
mt.menuItem(label = "Cube")
mt.menuItem(label = "Cylinder")
mt.button("Create", label = "Create", w = 300, command=ObjectCreation)
mt.button("Delete", label = "Delete", w = 300, command=DeleteButton)
mt.button("Clear", label = "Clear", w = 300, command=SceneClear)
mt.showWindow("Main")
def DeleteButton(*args):
mt.delete()
def SceneClear(*args):
mt.delete(all=True, c=True)
def ObjectCreation(*args):
currentValue = mt.optionMenu("PolygonMenu", query=True, value=True)
if currentValue == "Sphere":
SphereRadius = mt.intSliderGrp(Sphradius, q = True, Value=True)
finalSphere= mt.polySphere(r=SphereRadius, name = "Sphere", ch=False)
elif currentValue == "Cube":
CubeWidth = mt.intSliderGrp(CubeW, q = True, Value=True)
CubeHeight = mt.intSliderGrp(CubeH, q = True, Value=True)
CubeDepth = mt.intSliderGrp(CubeD, q = True, Value=True)
finalSphere= mt.polyCube(w=CubeWidth, h=CubeHeight, d=CubeDepth, name = "Cube", ch=False)
elif currentValue == "Cylinder":
CyclinderRadius = mt.intSliderGrp(Cylradius, q = True, Value=True)
CyclinderHeight = mt.intSliderGrp(CylH, q = True, Value=True)
finalCylinder= mt.polyCylinder(r=CylinderRadius, h=CylinderHeight, name = "Cylinder", ch=False)
def SphereSlider():
Sphradius = mt.intSliderGrp(1="Radius",min=0,max=25, field=True)
def CubeSlider():
CubeW = mt.intSliderGrp(1="Width", min=0, max=25, field=True)
CubeH = mt.intSliderGrp(1="Height", min=0, max=25, field=True)
CubeD = mt.intSliderGrp(1="Depth", min=0, max=25, field=True)
def CylinderSlider():
Cylradius = mt.intSliderGrp(1="Radius",min=0,max=25, field=True)
CylH = mt.intSliderGrp(1="Height", min=0, max=25, field=True)
ShowUI()
如果您 post 带有堆栈跟踪的确切错误消息,这将有很大帮助。在这种情况下,它表示错误发生在第 46 行的这一行:
球形半径 = mt.intSliderGrp(1="Radius",min=0,max=25, field=True)
这意味着您使用 1="Radius" 是不正确的,因为 1 不是关键字。我想你想称它为 label="Radius".