他の ビューポート 2.0 リソースとコンテキストを共有する QGLWidget に直接アクセスすることができます。これは、プラグインによって独自の QGLWidget 用の OpenGL リソースが作成され、これを使用してプラグインの OpenGL リソースをビューポート 2.0 と共有する場合に便利です。
import PySide2 import PySide2.QtOpenGL import PySide2.QtWidgets import shiboken2 #Get the property from the application (as a QWidget) widget = PySide2.QtWidgets.QApplication.instance().property("mayaSharedQGLWidget") #Get the raw C++ pointer ptr =shiboken2.getCppPointer(widget)[0] #Downcast to QGLWidget glWidget = shiboken2.wrapInstance(ptr, PySide2.QtOpenGL.QGLWidget) #Print the format of the current rendering context print (glWidget.format())
QVariant v = qApp->property("mayaSharedQGLWidget"); if (v.isValid()) { QGLWidget glWidget = dynamic_cast<QGLWidget*>(v.value<QWidget*>()); }