[Maya-Python] PyQt in Maya examples
Hello all, I have got PyQt up and running in Maya 2009. I was wondering if someone could guide me to a few examples, like adding a list of objects from maya into the QT listview or adding items dynamically to a combo box etc. I appreciate the help. Cheers, Vikram. --~--~-~--~~~---~--~~ http://groups.google.com/group/python_inside_maya -~--~~~~--~~--~--~---
[Maya-Python] Re: PyQt in Maya examples
Ok, Here's and basic example with PyQT and a QListWidget... Please note. This use's a modified pumpThread module. The default one from the maya dev kit has given us lots of problems. Thanks to some very clever people on this list we now have a working pumpThread module that is heavily tested here at work. from PyQt4 import QtCore, QtGui import pymel as pm import pumpThread class ExampleUI(QtGui.QDialog): def __init__(self, parent=None): super(ExampleUI, self).__init__(parent) # Set some basic properties on the UI self.setWindowTitle('ExampleUI') self.setObjectName(ExampleUI) self.setAttribute(QtCore.Qt.WA_DeleteOnClose) # Add a Layout and set it to the UI self.mainLayout = QtGui.QVBoxLayout(self) self.setLayout(self.mainLayout) # Add a Button and set some properties. Also add it to a layout. self.RefreshButton = QtGui.QPushButton() self.RefreshButton.setText(Refresh) self.mainLayout.addWidget(self.RefreshButton) # Add a list and set it to the layout self.SelectionList = QtGui.QListWidget() self.SelectionList.setMinimumSize(250,250) self.mainLayout.addWidget(self.SelectionList) # Connect the Refresh Button to a function to populate the list using SIGNAL's self.connect(self.RefreshButton, QtCore.SIGNAL(clicked()), self._RefreshButtonFunc) def _RefreshButtonFunc(self): ''' Fill the list based on a maya selection ''' oSel = pm.selected() if oSel: self.SelectionList.clear() [self.SelectionList.addItem(s.name()) for s in oSel] else: self.SelectionList.clear() @staticmethod def Display(): ''' calls the window. Typical PumpThread call Use's a modified pumpThread that properly set's up the thread. ''' # We need a global to stop python gc the UI global mainWindow # We need pumpThread to make the UI responsive pumpThread.initializePumpThread() app = pumpThread.get_app() if app: # We can set the app to use a nice style app.setStyle('Plastique') mainWindow = ExampleUI() mainWindow.show() ExampleUI.Display() I'll post our final pumpThread later today. -Dave On Tue, Sep 29, 2009 at 6:42 AM, floyd1510 vshingr...@gmail.com wrote: Hello all, I have got PyQt up and running in Maya 2009. I was wondering if someone could guide me to a few examples, like adding a list of objects from maya into the QT listview or adding items dynamically to a combo box etc. I appreciate the help. Cheers, Vikram. --~--~-~--~~~---~--~~ http://groups.google.com/group/python_inside_maya -~--~~~~--~~--~--~---
[Maya-Python] req: for mapy 3 linux update for scite 2.01 mel syntax hilight
it was working with scite version provided. but that version didn't worked for KDE. so i have to update to version 2.01 from GETDEB website. could someone please update mel syntax hilightlight for scite again (mel.properties) provided with mapy for linux installation. hope to hear soon regards, lala --~--~-~--~~~---~--~~ http://groups.google.com/group/python_inside_maya -~--~~~~--~~--~--~---
[Maya-Python] Question about MDagPathArray indices
I've run into something a little confusing I am hoping someone here can clarify. Try this: import maya.OpenMaya as OM testArray = OM.MDagPathArray() print testArray.length() You will of course get: 0 Now try this: print testArray[0] You will of course get: None However, even though this array is empty, if you do this: print testArray[1] or this: print testArray[100] you will get something like this: maya.OpenMaya.MDagPath; proxy of Swig Object of type 'MDagPath *' at 0x8 The reason this is causing me problems is because I am wanting to catch an index out of bounds exception for an MDagPathArray in a plugin. However, Maya Python does not seem to mind that I am trying to access an index that is out of bounds. Any ideas? --~--~-~--~~~---~--~~ http://groups.google.com/group/python_inside_maya -~--~~~~--~~--~--~---
[Maya-Python] Re: Question about MDagPathArray indices
That's because it isn't out of bounds, it's a sparse array that resizes automatically. On Sep 29, 6:03 pm, Adam Mechtley adam.mecht...@gmail.com wrote: I've run into something a little confusing I am hoping someone here can clarify. Try this: import maya.OpenMaya as OM testArray = OM.MDagPathArray() print testArray.length() You will of course get: 0 Now try this: print testArray[0] You will of course get: None However, even though this array is empty, if you do this: print testArray[1] or this: print testArray[100] you will get something like this: maya.OpenMaya.MDagPath; proxy of Swig Object of type 'MDagPath *' at 0x8 The reason this is causing me problems is because I am wanting to catch an index out of bounds exception for an MDagPathArray in a plugin. However, Maya Python does not seem to mind that I am trying to access an index that is out of bounds. Any ideas? --~--~-~--~~~---~--~~ http://groups.google.com/group/python_inside_maya -~--~~~~--~~--~--~---
[Maya-Python] Re: PyQt in Maya examples
Thanks Dave for the example. The problem is that I couldn't get the example running. Following is what I executed in Maya : import example example.ExampleUI() This outputs the following : # Result: example.ExampleUI object at 0x2268B6A8 # Then on running : ExampleUI.Display() , I get an error saying ExampleUI is not defined. Any idea where am I going wrong. Thanks for the help, Cheers, Vikram. This gives an error saying that ExampleUI is not defined. What am I doing wrong On Sep 29, 7:24 pm, David Moulder da...@thirstydevil.co.uk wrote: Ok, Here's and basic example with PyQT and a QListWidget... Please note. This use's a modified pumpThread module. The default one from the maya dev kit has given us lots of problems. Thanks to some very clever people on this list we now have a working pumpThread module that is heavily tested here at work. from PyQt4 import QtCore, QtGui import pymel as pm import pumpThread class ExampleUI(QtGui.QDialog): def __init__(self, parent=None): super(ExampleUI, self).__init__(parent) # Set some basic properties on the UI self.setWindowTitle('ExampleUI') self.setObjectName(ExampleUI) self.setAttribute(QtCore.Qt.WA_DeleteOnClose) # Add a Layout and set it to the UI self.mainLayout = QtGui.QVBoxLayout(self) self.setLayout(self.mainLayout) # Add a Button and set some properties. Also add it to a layout. self.RefreshButton = QtGui.QPushButton() self.RefreshButton.setText(Refresh) self.mainLayout.addWidget(self.RefreshButton) # Add a list and set it to the layout self.SelectionList = QtGui.QListWidget() self.SelectionList.setMinimumSize(250,250) self.mainLayout.addWidget(self.SelectionList) # Connect the Refresh Button to a function to populate the list using SIGNAL's self.connect(self.RefreshButton, QtCore.SIGNAL(clicked()), self._RefreshButtonFunc) def _RefreshButtonFunc(self): ''' Fill the list based on a maya selection ''' oSel = pm.selected() if oSel: self.SelectionList.clear() [self.SelectionList.addItem(s.name()) for s in oSel] else: self.SelectionList.clear() @staticmethod def Display(): ''' calls the window. Typical PumpThread call Use's a modified pumpThread that properly set's up the thread. ''' # We need a global to stop python gc the UI global mainWindow # We need pumpThread to make the UI responsive pumpThread.initializePumpThread() app = pumpThread.get_app() if app: # We can set the app to use a nice style app.setStyle('Plastique') mainWindow = ExampleUI() mainWindow.show() ExampleUI.Display() I'll post our final pumpThread later today. -Dave On Tue, Sep 29, 2009 at 6:42 AM, floyd1510 vshingr...@gmail.com wrote: Hello all, I have got PyQt up and running in Maya 2009. I was wondering if someone could guide me to a few examples, like adding a list of objects from maya into the QT listview or adding items dynamically to a combo box etc. I appreciate the help. Cheers, Vikram. --~--~-~--~~~---~--~~ http://groups.google.com/group/python_inside_maya -~--~~~~--~~--~--~---
[Maya-Python] Re: PyQt in Maya examples
try: example.ExampleUI.Display() ExampleUI is inside the example module, so you have to prefix it with the module name -chad On Sep 29, 2009, at 9:53 PM, floyd1510 wrote: Thanks Dave for the example. The problem is that I couldn't get the example running. Following is what I executed in Maya : import example example.ExampleUI() This outputs the following : # Result: example.ExampleUI object at 0x2268B6A8 # Then on running : ExampleUI.Display() , I get an error saying ExampleUI is not defined. Any idea where am I going wrong. Thanks for the help, Cheers, Vikram. This gives an error saying that ExampleUI is not defined. What am I doing wrong On Sep 29, 7:24 pm, David Moulder da...@thirstydevil.co.uk wrote: Ok, Here's and basic example with PyQT and a QListWidget... Please note. This use's a modified pumpThread module. The default one from the maya dev kit has given us lots of problems. Thanks to some very clever people on this list we now have a working pumpThread module that is heavily tested here at work. from PyQt4 import QtCore, QtGui import pymel as pm import pumpThread class ExampleUI(QtGui.QDialog): def __init__(self, parent=None): super(ExampleUI, self).__init__(parent) # Set some basic properties on the UI self.setWindowTitle('ExampleUI') self.setObjectName(ExampleUI) self.setAttribute(QtCore.Qt.WA_DeleteOnClose) # Add a Layout and set it to the UI self.mainLayout = QtGui.QVBoxLayout(self) self.setLayout(self.mainLayout) # Add a Button and set some properties. Also add it to a layout. self.RefreshButton = QtGui.QPushButton() self.RefreshButton.setText(Refresh) self.mainLayout.addWidget(self.RefreshButton) # Add a list and set it to the layout self.SelectionList = QtGui.QListWidget() self.SelectionList.setMinimumSize(250,250) self.mainLayout.addWidget(self.SelectionList) # Connect the Refresh Button to a function to populate the list using SIGNAL's self.connect(self.RefreshButton, QtCore.SIGNAL(clicked()), self._RefreshButtonFunc) def _RefreshButtonFunc(self): ''' Fill the list based on a maya selection ''' oSel = pm.selected() if oSel: self.SelectionList.clear() [self.SelectionList.addItem(s.name()) for s in oSel] else: self.SelectionList.clear() @staticmethod def Display(): ''' calls the window. Typical PumpThread call Use's a modified pumpThread that properly set's up the thread. ''' # We need a global to stop python gc the UI global mainWindow # We need pumpThread to make the UI responsive pumpThread.initializePumpThread() app = pumpThread.get_app() if app: # We can set the app to use a nice style app.setStyle('Plastique') mainWindow = ExampleUI() mainWindow.show() ExampleUI.Display() I'll post our final pumpThread later today. -Dave On Tue, Sep 29, 2009 at 6:42 AM, floyd1510 vshingr...@gmail.com wrote: Hello all, I have got PyQt up and running in Maya 2009. I was wondering if someone could guide me to a few examples, like adding a list of objects from maya into the QT listview or adding items dynamically to a combo box etc. I appreciate the help. Cheers, Vikram. --~--~-~--~~~---~--~~ http://groups.google.com/group/python_inside_maya -~--~~~~--~~--~--~---