# Error: 'module' object has no attribute 'QVBoxLayout'
# Traceback (most recent call last):
# File "<maya console>", line 4, in <module>
# File "E:\ProfessionalDevelopment\python\Introduction to Python Scripting in Maya\cgcircuitPython\wk6\geomGenerator.py", line 18, in run
# win = GeometryGenerator(parent=getMayaWindow())
# File "E:\ProfessionalDevelopment\python\Introduction to Python Scripting in Maya\cgcircuitPython\wk6\geomGenerator.py", line 36, in __init__
# layout = QtGui.QVBoxLayout()
# AttributeError: 'module' object has no attribute 'QVBoxLayout' #import os
from PySide2 import QtWidgets, QtCore, QtUiTools, QtGui
from shiboken2 import wrapInstance
import maya.cmds as mc
import maya.OpenMayaUI as omui
def getMayaWindow():
''' pointer to the maya main window '''
ptr = omui.MQtUtil.mainWindow()
if ptr:
return wrapInstance(long(ptr), QtWidgets.QMainWindow)
def run():
''' builds our UI '''
global win
win = GeometryGenerator(parent=getMayaWindow())
win.show()
uiFilePath = os.path.join( os.path.dirname(__file__) , 'geomGenerator_v001.ui')
class GeometryGenerator(QtWidgets.QDialog):
def __init__(self,parent=None):
super(GeometryGenerator,self).__init__(parent)
loader = QtUiTools.QUiLoader()
print('uiFilePath: {0}'.format(uiFilePath))
xfile = QtCore.QFile(uiFilePath)
xfile.open(QtCore.QFile.ReadOnly)
self.ui = loader.load(xfile, parentWidget=self)
xfile.close()
layout = QtGui.QVBoxLayout()
layout.addWidget(self.ui)
self.setLayout(layout)
--
You received this message because you are subscribed to the Google Groups "Python Programming for Autodesk Maya" group.
To unsubscribe from this group and stop receiving emails from it, send an email to python_inside_m...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/python_inside_maya/84ea6669-7cac-49d7-8a81-10d071830a0d%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
layout = QtGui.QVBoxLayout() # from this
layout = QtWidgets.QVBoxLayout() # into this
To unsubscribe from this group and stop receiving emails from it, send an email to python_inside_maya+unsub...@googlegroups.com.
The only way I was able to solve this was not from the documentation, but from an earlier post I sent out which told me Qt has a new module called QtWidgets it holds many of the attributes that were previously found in QtGui.There was nothing in the documentation that I could understand (as a freshman) That told me that QVBoxLayout is found in QtWidgets. And that the syntax should be written like this QtWidgets.QVBoxLayout(). So reading the documentation unfortunately didn't clue me into the answer.Ultimately the answer waslayout = QtGui.QVBoxLayout() # from this
layout = QtWidgets.QVBoxLayout() # into this
FYI; Sublime auto-fills in QtGui.QVBoxLayout and it also auto-filled in QtWidgets.QVBoxLayout which made me think it did exist in QtGui.
To unsubscribe from this group and stop receiving emails from it, send an email to python_inside_m...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/python_inside_maya/84ea6669-7cac-49d7-8a81-10d071830a0d%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "Python Programming for Autodesk Maya" group.
To unsubscribe from this group and stop receiving emails from it, send an email to python_inside_m...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/python_inside_maya/3723cd75-3142-43a4-b94b-5f74d579e25e%40googlegroups.com.