Maya API/ PySide2,wrapInstance 中的参数错误

Maya API/ PySide2 , wrong argument in wrapInstance

正在尝试为 Maya 学习一些 PySide2,但是还没有明确的 PySide2 文档,所以在网上搜索后再次来到这里寻求帮助...

我会直奔问题 -

from PySide2 import QtWidgets, QtGui
import maya.cmds as cmds
import maya.OpenMayaUI as mui
import shiboken2

def getMayaWindow():
    pointer  = mui.MQtUtil.mainWindow()
    if pointer is not None:
        return shiboken2.wrapInstance(long(pointer), QtWidgets)

错误:类型错误:文件第 9 行:'wrapInstance' 使用错误的参数类型调用:

wrapInstance(长,模块)

支持的签名:

wrapInstance(size_t, PyType)#

此致!

您应该尝试通过以下方式导入模块:

import maya.cmds as cmds
from PySide2.QtCore import * 
from PySide2.QtGui import *
from PySide2.QtWidgets import *
import maya.OpenMayaUI as omui

try:
    from shiboken import wrapInstance
except:
    from shiboken2 import wrapInstance


def getMayaWindow():    
    pointer = omui.MQtUtil.mainWindow()
    if pointer is not None:
        return shiboken2.wrapInstance(long(pointer), QWidget)

getMayaWindow()