dimanche 21 octobre 2012

PyQt parent to main maya window


    Pour parenter sa fenetre pyqt a celle de maya pour pouvoir l'avoir en top et qu'elle se hide avec elle. Il faut récupérer le QMainWindow() et y parenter notre nouvelle fenêtre grasse au module SIP.
Exemple:



import maya.OpenMayaUI as OpenMayaUI
import sip
from PyQt4 import QtCore, QtGui
class window(QtGui.QMainWindow):
    def __init__ (self,        parent = sip.wrapinstance( long( OpenMayaUI.MQtUtil.mainWindow() ), QtCore.QObject )):
        super(window, self).__init__(parent)
        
d = window()
d.show()

lundi 15 octobre 2012

astuce python, compare two variables with set

        Petit astuce python fort pratique ! l'utilisation des variables de type "set". "set" permet de faire des opérations entre variables "set". Voici quelques exemples:


#union
a = set(['a','b','c','d'])
b = set(['d','d','d','d','e','f','g'])
a.union(b)

# Result: set(['a', 'c', 'b', 'e', 'd', 'g', 'f']) #
#remarques: 'd' est stocké qu'une fois dans le nouveau set; attention le set mélanges les valeurs

#différence
a = set(['a','b','c','d','e','f','g'])
b = set(['d','d','d','d','e','f','g'])
a.difference(b)
# Result: set(['a', 'c', 'b']) # 



Il existe beaucoup d'autres opérateurs, pour plus de détails:
 http://docs.python.org/library/sets.html