[Maya-Python] PyQt in Maya examples

2009-09-29 Thread floyd1510

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

2009-09-29 Thread David Moulder
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

2009-09-29 Thread lala

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

2009-09-29 Thread Adam Mechtley
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

2009-09-29 Thread chrisg

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

2009-09-29 Thread floyd1510

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

2009-09-29 Thread Chad Dombrova

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
-~--~~~~--~~--~--~---