C++ 如何创建OpenMaya UI?

C++ 如何创建OpenMaya UI?,c++,python,api,maya,pymel,C++,Python,Api,Maya,Pymel,我不知道如何使用MayaApi创建UI,我过去所做的就是这样: import pymel.core as pm winWidth = 400 if pm.window("window", exists=1): pm.deleteUI("window") pm.window("window", w=winWidth) with pm.columnLayout('content', adjustableColumn=True): with pm.rowColu

我不知道如何使用MayaApi创建UI,我过去所做的就是这样:

import pymel.core as pm
winWidth = 400
if pm.window("window", exists=1): pm.deleteUI("window")
pm.window("window", w=winWidth)   
with pm.columnLayout('content', adjustableColumn=True):             
    with pm.rowColumnLayout(nc=1):
        pm.text(l="wooo! A window! ")

但是,有没有一种不使用pymel创建UI的方法?

您尝试过吗。Autodesk对此有自己的文档。

除非您正在做一些非常核心的工作(如需要在三维视图中进行自定义openGL绘图),否则在API中使用普通UI的复杂性和潜在缺点直接超过了优点。Python会更慢,但可能不会以用户注意到的方式。在Python中输入一个拼写错误要比在API中强制退出maya困难得多:)

您可以使用pyqt designer创建GUI,然后使用pyuic4将其转换为Python。从那里,您可以用python设置回调和信号。以下是一个教程:


或者使用maya.cmds并使用maya的内置qt功能创建窗口和按钮

我以前使用过pyqt,但不知道可以将其转换为python,这太棒了!