On Wed, Oct 18, 2017, 8:17 AM jettam <[email protected]> wrote:

>
> When I run this code I get this error. Any help please.    Yes I am
> running it from a module.
>
> # 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)
>
>
>
When you see errors like this you need to think about what it is trying to
tell you. It says the QtGui module has no QVBoxLayout. So what you want to
do next is check the documentation to know where things are.

http://doc.qt.io/qt-5/qvboxlayout.html

Note that in Qt5, widgets have been moved into a QtWidgets namespace. So if
you are following Qt4 tutorials then you will need to make that adjustment
to your code.

Here is the PyQt version of the difference between v4 and v5

http://pyqt.sourceforge.net/Docs/PyQt5/pyqt4_differences.html



> --
> 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 [email protected].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/python_inside_maya/84ea6669-7cac-49d7-8a81-10d071830a0d%40googlegroups.com
> <https://groups.google.com/d/msgid/python_inside_maya/84ea6669-7cac-49d7-8a81-10d071830a0d%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
> 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 [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/python_inside_maya/CAPGFgA2VJB9t16wt2F4hzJOvMZDxo%2BP2p%3D02RM-gmDwY7w5C0A%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to