Была такая же проблема.Существует решение от Натана Хорна , которое отлично работает.Однако, если вы хотите получить объект QWidget, который использует определенный M3dView, выполните следующие действия:
import maya.OpenMayaUI as apiUI
from PyQt4 import QtGui, QtCore
import sip
view = apiUI.M3dView.active3dView()
widget_ptr = view.widget()
widget = sip.wrapinstance(long(widget_ptr), QtCore.QObject)
pixmap = QtGui.QPixmap.grabWidget(widget)
Как вы знаете, вы можете затем сохранить растровое изображение в файл или использовать его непосредственно для другого QWidget.Как ни странно, результат кажется беспорядочным (или, по крайней мере, менее предсказуемым), и я рекомендую использовать решение Натана Хорна.