Hey, use them when you need them. There is always a solution with enough
testing.
Don't apologize for your questions. There is nothing silly about them. You
are diving into non-trivial stuff here, and this is the proper forum to
help you out.

Yea, I maybe I should stop checking this place so often, even when I am not
supposed to be working ;-)
Nah. I enjoy it too much. Keep 'em coming.

Though you will see a lull in my participation for a good part of January,
as I make my move to New Zealand. Any NZ dwellers here?



On Sat, Dec 29, 2012 at 10:15 PM, Tuan Nguyen <[email protected]> wrote:

> Umm.... Maybe i should stick with PyQt's widget and limited on using
> Maya's UI element, since it might bring so much trouble. Thank Justin, for
> helping  me out with my silly question. And Happy New Year , you working
> hard even on these days, don't you :D
>
>
> On Sun, Dec 30, 2012 at 12:40 PM, Justin Israel <[email protected]>wrote:
>
>> When Maya tries to translate Qt widgets into Maya UI objects, it has this
>> really narrow range of objects that it actually maps. Maya also does some
>> different stuff to handle layouts. It slots in extra widgets, and also
>> creates internal layouts (you can read about it here:
>> http://download.autodesk.com/global/docs/mayasdk2012/en_us/index.html).
>> I am not claiming to be fully versed on the inner working of this topic.
>> Only that I know it has quirks. Sometimes it doesn't like
>> certain structures to give you a clean mapping. Maybe its a bug when you
>> try to set a Maya UI parent to a nested layout.
>>
>> For the second question, I am not really sure what you mean. If you
>> created a dialog layout, and are subclassing it in code, then you are
>> defining an accept() method in which the dialog is "self". Maybe give me a
>> snippet of your accept() method where you are having problems.
>>
>>
>>
>> On Sat, Dec 29, 2012 at 8:54 PM, Tuan Nguyen <[email protected]>wrote:
>>
>>> Sorry for trouble you so much, i understand the problem now. But still,
>>> i have a question about it:
>>>
>>>  What is the difference beetween a Layout and one which had been morph
>>> into a widget? Can i see the it as a normal Layout and add widget into it
>>> anymore?
>>>
>>> And just a small problem, please help me out. I had created a QDialog in
>>> QtDesign ( Dialog without Button )to call later, but when i try to
>>> reimplement the accept function, i don't know how to call the dialog out
>>> itself (like self.dialog) to write ( if i build it by code, i will have
>>> dialog = QtGui.QDialog through) .
>>>
>>> Thanks :)
>>>
>>>
>>> On Sun, Dec 30, 2012 at 7:52 AM, Justin Israel 
>>> <[email protected]>wrote:
>>>
>>>> Ok so I debugged your UI a bit and figured out the problem. It has to
>>>> do with another confusing quirk when trying to combine PyQt widgets with
>>>> Maya UI command as parent/child.
>>>>
>>>> Maya does not like layouts nested in layouts. It makes the path
>>>> completely break to be able to reference them. So what I had to do was
>>>> restructure your UI to put widgets between layouts:
>>>> widget -> layout -> widget -> layout
>>>>
>>>> Also I had to add some import statements to your main python script:
>>>> import maya.OpenMayaUI as mui
>>>> import sip
>>>>
>>>> I've attached the UI file. There were two spots where I had to fix the
>>>> layouts. You had nested layouts at the very top of the window, and also in
>>>> the Color_HLayout. They now have just widget ->layout -> widget. Keep in
>>>> mind that this is perfectly legal to do in PyQt. It is just the Maya quirk
>>>> when doing this specific operation of adding Maya UI to your PyQt layout:
>>>>
>>>> b = CModifyWUI.CModifyUI(parent = CModifyWUI.getMainWindow())
>>>> b.show()
>>>> layout_pointer = long(sip.unwrapinstance(b.Color_HLayout))
>>>> path = mui.MQtUtil.fullName(layout_pointer)
>>>>
>>>> # this should not crash now
>>>> cmds.setParent(path)
>>>> # this should properly add the button
>>>> b = cmds.button()
>>>>
>>>>
>>>> -- justin
>>>>
>>>>
>>>>
>>>> On Fri, Dec 28, 2012 at 8:42 PM, Tuan Nguyen <[email protected]>wrote:
>>>>
>>>>> Btw, not that I think you are doing this anyways but though it is
>>>>>> worth mentioning... that part at the bottom of your python ui module (in
>>>>>> the __main__) block is only meant for standalone (outside of Maya) apps.
>>>>>> You shouldn't be creating a QApplication anywhere.
>>>>>>
>>>>>> Thanks, i didn't notice that, its auto-generation after converted
>>>>> from UI file.
>>>>>
>>>>> And yes, if i just call out the UI file, everything is fine, both 2011
>>>>> and 2012. But if i try to insert a Maya's UI element (i tested  on 2012 ) 
>>>>> ,
>>>>> it crash right away . It only happens with my UI file, the example you 
>>>>> gave
>>>>> me is fine, no crash, and the Maya UI parented to QtUI.
>>>>>
>>>>> So after i subclass UI file, this is what i do next
>>>>>
>>>>> import maya.cmds as cmds
>>>>> import sip
>>>>> import maya.OpenMayaUI as mui
>>>>>
>>>>> #Call out UI
>>>>> b = CModifyWUI.CModifyUI(parent = CModifyWUI.getMainWindow())
>>>>> b.show()
>>>>> # its an emty HBoxLayout i save for insert element later
>>>>> layout_pointer = long(sip.unwrapinstance(b.Color_HLayout))
>>>>> path = mui.MQtUtil.fullName(layout_pointer)
>>>>> button = cmds.button(parent = path)
>>>>>
>>>>> :(
>>>>>
>>>>>  --
>>>>> You received this message because you are subscribed to the Google
>>>>> Groups "Python Programming for Autodesk Maya" group.
>>>>> To post to this group, send email to
>>>>> [email protected].
>>>>> To unsubscribe from this group, send email to
>>>>> [email protected].
>>>>>
>>>>>
>>>>>
>>>>
>>>>  --
>>>> You received this message because you are subscribed to the Google
>>>> Groups "Python Programming for Autodesk Maya" group.
>>>> To post to this group, send email to
>>>> [email protected].
>>>> To unsubscribe from this group, send email to
>>>> [email protected].
>>>>
>>>>
>>>>
>>>
>>>  --
>>> You received this message because you are subscribed to the Google
>>> Groups "Python Programming for Autodesk Maya" group.
>>> To post to this group, send email to [email protected]
>>> .
>>> To unsubscribe from this group, send email to
>>> [email protected].
>>>
>>>
>>>
>>
>>  --
>> You received this message because you are subscribed to the Google Groups
>> "Python Programming for Autodesk Maya" group.
>> To post to this group, send email to [email protected].
>> To unsubscribe from this group, send email to
>> [email protected].
>>
>>
>>
>
>  --
> You received this message because you are subscribed to the Google Groups
> "Python Programming for Autodesk Maya" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected].
>
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Python Programming for Autodesk Maya" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].


Reply via email to