If you read the pumpthread code you'll see that you can only initialize it
once I believe.  So calling it multiple times won't make any difference and
just ensures it's running.

Good luck.  QT is great.

On Wed, Jan 11, 2012 at 3:53 AM, Panupat Chongstitwattana <
panup...@gmail.com> wrote:

> Thanks David. I think I got it working for now.
>
> If I want to launch multiple UI, they all will need to initialize
> pumpthread?
>
>
> On Tue, Jan 10, 2012 at 7:04 PM, David Moulder 
> <da...@thirstydevil.co.uk>wrote:
>
>> http://pastebin.com/czT9EBXM
>>
>> This should be enough to get you going.
>>
>> On Tue, Jan 10, 2012 at 10:34 AM, Panupat Chongstitwattana <
>> panup...@gmail.com> wrote:
>>
>>> Thank you Dave.
>>>
>>> It's still acting weird I tried putting "global myUI"  at different
>>> places, the UI only shows up if it's inside the function mySimple UI. But
>>> when calling the fuction again it would give me this error whether I've
>>> closed the first UI or not.
>>>
>>> # Error: TypeError: 'MySimpleUI' object is not callable #
>>>
>>> Putting myUI = None around the code doesn't fix it.
>>>
>>> Everything works fine tho if I remove the function and just have these 2
>>> lines by themselves.
>>>
>>> myUI = MySimpleUI()
>>> myUI.ui.show()
>>>
>>> anyway around this? :O Sorry for asking so many question.
>>>
>>> best regard,
>>> Panupat C.
>>>
>>> On Tue, Jan 10, 2012 at 5:23 PM, David Moulder <da...@thirstydevil.co.uk
>>> > wrote:
>>>
>>>> This is now down to pythons garbage collection destroying the ui.
>>>>
>>>> If you make a global variable and assign you ui to that then you'll be
>>>> fine.
>>>>
>>>> ie:
>>>>
>>>> global myUI
>>>> myUI = None
>>>>
>>>> def mySimpleUI():
>>>>     myUI = MySimpleUI()
>>>>     myUI.ui.show()
>>>>
>>>> -Dave
>>>>
>>>>
>>>> On Tue, Jan 10, 2012 at 10:03 AM, Panupat Chongstitwattana <
>>>> panup...@gmail.com> wrote:
>>>>
>>>>> Justin, thank you for the link.
>>>>>
>>>>> I'm a little curious, how do I properly use the pumpThread? With
>>>>> pumpThread, my UI would disappear as soon as it appeared. Am I putting the
>>>>> pumpThread at the right place?
>>>>>
>>>>>
>>>>> import pumpThread
>>>>> from PyQt4 import uic
>>>>>
>>>>> class MySimpleUI(object):
>>>>>     def __init__(self):
>>>>>         pumpThread.initializePumpThread()
>>>>>         self.ui = uic.loadUi('D:\\ui\\hello.ui')
>>>>>
>>>>> def mySimpleUI():
>>>>>     myUI = MySimpleUI()
>>>>>     myUI.ui.show()
>>>>>
>>>>>
>>>>> hello.ui is only a widget with a text.
>>>>>
>>>>>
>>>>> On Mon, Jan 9, 2012 at 11:36 PM, Kurian O.S <kuria...@gmail.com>wrote:
>>>>>
>>>>>> Aha I didnt see that and it wont work previous version and he should
>>>>>> use pumbthread in that case ..
>>>>>>
>>>>>>
>>>>>> On Mon, Jan 9, 2012 at 11:19 AM, Justin Israel <
>>>>>> justinisr...@gmail.com> wrote:
>>>>>>
>>>>>>> It should be in the sdk directory and not in your path just yet. But
>>>>>>> if you cant find it:
>>>>>>>
>>>>>>> http://code.google.com/p/svnformaya/source/browse/trunk/pumpThread.py?r=3
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> On Jan 9, 2012, at 8:14 AM, Justin Israel <justinisr...@gmail.com>
>>>>>>> wrote:
>>>>>>>
>>>>>>> Kurian, he is using maya 2010 before they rewrote it in qt. so I
>>>>>>> don't believe MQtUtil even exists. The pumpThread utility is what he 
>>>>>>> needs.
>>>>>>> It creates a fakey event loop that keeps processing events from qt as 
>>>>>>> they
>>>>>>> stack up and also takes care of the global qapp that will be shared. 
>>>>>>> There
>>>>>>> is actually no global qapp being used by maya.
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> On Jan 9, 2012, at 6:07 AM, "Kurian O.S" <kuria...@gmail.com> wrote:
>>>>>>>
>>>>>>> O otherwise you can try using this
>>>>>>>
>>>>>>> import sip
>>>>>>> import maya.OpenMayaUI as mui
>>>>>>> from PyQt4.QtCore import *
>>>>>>> from PyQt4.QtQtGui import *
>>>>>>>
>>>>>>> def getMayaWindow():
>>>>>>>     ptr = mui.MQtUtil.mainWindow()
>>>>>>>     return sip.wrapinstance(long(ptr), QObject)
>>>>>>>
>>>>>>> class Form(QDialog):
>>>>>>>     def __init__(self, parent=None):
>>>>>>>         super(Form, self).__init__(parent)
>>>>>>>         self.setObjectName('mainUI')
>>>>>>>         self.mainLayout = QVBoxLayout(self)
>>>>>>>         self.myButton = QPushButton('myButton')
>>>>>>>         self.mainLayout.addWidget(self.myButton)
>>>>>>>
>>>>>>> global app
>>>>>>> global form
>>>>>>> app = qApp
>>>>>>> form = Form(getMayaWindow())
>>>>>>> form.show()
>>>>>>>
>>>>>>> PS :  PyQt4.QtCore import * is not really a good idea at all.
>>>>>>>
>>>>>>> On Mon, Jan 9, 2012 at 9:01 AM, Panupat Chongstitwattana <
>>>>>>> panup...@gmail.com> wrote:
>>>>>>>
>>>>>>>> David - does pumpThread come with Maya 2010?
>>>>>>>>
>>>>>>>> I'll try it out once I get to my studio tomorrow, thanks :)
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> On Mon, Jan 9, 2012 at 7:57 PM, David Moulder <
>>>>>>>> da...@thirstydevil.co.uk> wrote:
>>>>>>>>
>>>>>>>>> You are using pumpThread right?
>>>>>>>>>
>>>>>>>>> If so you shouldn't do sys.exit(app.exec_())
>>>>>>>>>
>>>>>>>>> just myapp.show()
>>>>>>>>>
>>>>>>>>> If your not using pumpThread you have to in Maya 2010.
>>>>>>>>>
>>>>>>>>> You can find pumpThread in the sdk folder.  From memory you need
>>>>>>>>> to import it and initialize it before any Qt Gui is created.
>>>>>>>>>
>>>>>>>>> import pumpThread as pt
>>>>>>>>> pt.initializePumpThread()
>>>>>>>>>
>>>>>>>>> -Dave
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On Mon, Jan 9, 2012 at 12:31 PM, Panupat Chongstitwattana <
>>>>>>>>> panup...@gmail.com> wrote:
>>>>>>>>>
>>>>>>>>>> Kamil
>>>>>>>>>>
>>>>>>>>>> The UI class is Ui_AddPlayblast.py. The set title line looks like
>>>>>>>>>> this
>>>>>>>>>>
>>>>>>>>>> AddPlayblast.setWindowTitle(QtGui.QApplication.translate("AddPlayblast",
>>>>>>>>>> "Manual Add Playblast", None, QtGui.QApplication.UnicodeUTF8))
>>>>>>>>>>
>>>>>>>>>> I tried using both "AddPlayblast" and "Manual Add Playblast" to
>>>>>>>>>> no avail. Is there anything else I should try?
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Kurian - the UI script will be run exclusively in Maya. As I
>>>>>>>>>> understand, the __name__ = __main__ only works if you run the py file
>>>>>>>>>> directly? Initally I'm launching the UI with these commands
>>>>>>>>>>
>>>>>>>>>> app = QtGui.QApplication(sys.argv)
>>>>>>>>>> myapp = AddPlayblast()
>>>>>>>>>> myapp.show()
>>>>>>>>>> sys.exit(app.exec_())
>>>>>>>>>>
>>>>>>>>>> I tested it out in another function, and it is this line that
>>>>>>>>>> freezes Maya
>>>>>>>>>>
>>>>>>>>>> myapp = AddPlayblast()
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> best regard,
>>>>>>>>>> Panupat C.
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> On Mon, Jan 9, 2012 at 7:04 PM, Kurian O.S <kuria...@gmail.com>wrote:
>>>>>>>>>>
>>>>>>>>>>> you can use
>>>>>>>>>>>
>>>>>>>>>>> class MyApp (QApplication):
>>>>>>>>>>>      ....
>>>>>>>>>>>
>>>>>>>>>>> if __name__ == '__main__':
>>>>>>>>>>>     app = MyApp( sys.argv)
>>>>>>>>>>>     if app.isRunning():
>>>>>>>>>>>         ... do whatevr u want
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> On Mon, Jan 9, 2012 at 5:30 PM, Ricardo Viana <
>>>>>>>>>>> cgolhei...@gmail.com> wrote:
>>>>>>>>>>>
>>>>>>>>>>>> Humm. It should. Check you have your naming right on the .ui
>>>>>>>>>>>> for window widget.
>>>>>>>>>>>>
>>>>>>>>>>>> Best regards
>>>>>>>>>>>> Ricardo Viana
>>>>>>>>>>>>
>>>>>>>>>>>> On Jan 9, 2012, at 11:56 AM, Panupat Chongstitwattana <
>>>>>>>>>>>> panup...@gmail.com> wrote:
>>>>>>>>>>>>
>>>>>>>>>>>>  Hi Kamil.
>>>>>>>>>>>>
>>>>>>>>>>>> Thanks for suggestion. But the cmds deleteUI/window modules
>>>>>>>>>>>> can't seem to detect the PyQt window's titles :(
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> On Mon, Jan 9, 2012 at 5:31 PM, Kamil Hepner <
>>>>>>>>>>>> hektor1...@gmail.com> wrote:
>>>>>>>>>>>>
>>>>>>>>>>>>> It's very simple:
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> winName = "myWindow"
>>>>>>>>>>>>> if pm.windows.window(winName, exists=True):
>>>>>>>>>>>>>        pm.windows.deleteUI(winName)
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> 2012/1/9 Panupat Chongstitwattana <panup...@gmail.com>
>>>>>>>>>>>>>
>>>>>>>>>>>>>> In Maya 2010, if I run the script to start a UI that is
>>>>>>>>>>>>>> already running, it would crash Maya D: How can I check if the 
>>>>>>>>>>>>>> UI is
>>>>>>>>>>>>>> already running and close it?
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> --
>>>>>>>>>>>>>> view archives:
>>>>>>>>>>>>>> http://groups.google.com/group/python_inside_maya
>>>>>>>>>>>>>> change your subscription settings:
>>>>>>>>>>>>>> http://groups.google.com/group/python_inside_maya/subscribe
>>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>  --
>>>>>>>>>>>>> view archives:
>>>>>>>>>>>>> http://groups.google.com/group/python_inside_maya
>>>>>>>>>>>>> change your subscription settings:
>>>>>>>>>>>>> http://groups.google.com/group/python_inside_maya/subscribe
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>  --
>>>>>>>>>>>> view archives:
>>>>>>>>>>>> http://groups.google.com/group/python_inside_maya
>>>>>>>>>>>> change your subscription settings:
>>>>>>>>>>>> http://groups.google.com/group/python_inside_maya/subscribe
>>>>>>>>>>>>
>>>>>>>>>>>>  --
>>>>>>>>>>>> view archives:
>>>>>>>>>>>> http://groups.google.com/group/python_inside_maya
>>>>>>>>>>>> change your subscription settings:
>>>>>>>>>>>> http://groups.google.com/group/python_inside_maya/subscribe
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> --
>>>>>>>>>>> --:: Kurian ::--
>>>>>>>>>>>
>>>>>>>>>>>  --
>>>>>>>>>>> view archives: http://groups.google.com/group/python_inside_maya
>>>>>>>>>>> change your subscription settings:
>>>>>>>>>>> http://groups.google.com/group/python_inside_maya/subscribe
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>  --
>>>>>>>>>> view archives: http://groups.google.com/group/python_inside_maya
>>>>>>>>>> change your subscription settings:
>>>>>>>>>> http://groups.google.com/group/python_inside_maya/subscribe
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>> David Moulder
>>>>>>>>> http://www.google.com/profiles/squish3d
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>> view archives: http://groups.google.com/group/python_inside_maya
>>>>>>>>> change your subscription settings:
>>>>>>>>> http://groups.google.com/group/python_inside_maya/subscribe
>>>>>>>>>
>>>>>>>>
>>>>>>>>  --
>>>>>>>> view archives: http://groups.google.com/group/python_inside_maya
>>>>>>>> change your subscription settings:
>>>>>>>> http://groups.google.com/group/python_inside_maya/subscribe
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> --:: Kurian ::--
>>>>>>>
>>>>>>>  --
>>>>>>> view archives: http://groups.google.com/group/python_inside_maya
>>>>>>> change your subscription settings:
>>>>>>> http://groups.google.com/group/python_inside_maya/subscribe
>>>>>>>
>>>>>>>  --
>>>>>>> view archives: http://groups.google.com/group/python_inside_maya
>>>>>>> change your subscription settings:
>>>>>>> http://groups.google.com/group/python_inside_maya/subscribe
>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> --:: Kurian ::--
>>>>>>
>>>>>>  --
>>>>>> view archives: http://groups.google.com/group/python_inside_maya
>>>>>> change your subscription settings:
>>>>>> http://groups.google.com/group/python_inside_maya/subscribe
>>>>>>
>>>>>
>>>>>  --
>>>>> view archives: http://groups.google.com/group/python_inside_maya
>>>>> change your subscription settings:
>>>>> http://groups.google.com/group/python_inside_maya/subscribe
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> David Moulder
>>>> http://www.google.com/profiles/squish3d
>>>>
>>>> --
>>>> view archives: http://groups.google.com/group/python_inside_maya
>>>> change your subscription settings:
>>>> http://groups.google.com/group/python_inside_maya/subscribe
>>>>
>>>
>>>  --
>>> view archives: http://groups.google.com/group/python_inside_maya
>>> change your subscription settings:
>>> http://groups.google.com/group/python_inside_maya/subscribe
>>>
>>
>>
>>
>> --
>> David Moulder
>> http://www.google.com/profiles/squish3d
>>
>> --
>> view archives: http://groups.google.com/group/python_inside_maya
>> change your subscription settings:
>> http://groups.google.com/group/python_inside_maya/subscribe
>>
>
>  --
> view archives: http://groups.google.com/group/python_inside_maya
> change your subscription settings:
> http://groups.google.com/group/python_inside_maya/subscribe
>



-- 
David Moulder
http://www.google.com/profiles/squish3d

-- 
view archives: http://groups.google.com/group/python_inside_maya
change your subscription settings: 
http://groups.google.com/group/python_inside_maya/subscribe

Reply via email to