The biggest thing for me has been to embrace the widget model. I had a lot of struggles trying to convert existing Maya interfaces over, which led to a lot of "how do I get x interface element in PyQt" questions (The framelayout was a particular headache for me, but I learned a lot about the internals of the layout system trying to rebuild it). The thing is, PyQt gives you the base widgets to build just about anything you want, where maya gives you a lot of prebuilt interfaces so you can build very rapidly (while losing some flexibility in the process).

So for me, the key was to redesign my interfaces from the ground up--not thinking about "how can I recreate this existing interface?", and instead thinking about "How do I want the user to experience this tool?" It was a bit painful with all of the existing work I'd put in before I hit the limits of Maya's interface functionality, but once I started redesigning I realized that a lot of the choices I'd made before were to work within the limitations of the old system, and I was wasting a lot of time trying to recreate something that wasn't really necessary.
From there, it was just "which element will accomplish what I'm looking
for," and then diving into the documentation and forums to figure out how to do it.

Working with the Qt Model/View/Delegate system has also been challenging, but no more so than it was with WPF for me. The biggest challenge there is in working with the QVariants that Qt uses internally. I also just discovered that you can put a definition in your imports to remove QVariants entirely for sip, but at this point my codebase has gotten rather large again so I just deal with them.

On 2/16/2014 1:48 AM, Mark Serena wrote:
Cheers Joe. Any other things helped you get a grasp of it? Always good to find some golden egg hidden on the inter-web/warren


On Sun, Feb 16, 2014 at 5:06 PM, Joe Weidenbach <[email protected] <mailto:[email protected]>> wrote:

    Hey Mark,

    Just wanted to throw this out to you, I switched to PyQt about 8
    months ago, and am finally getting the hang of it (of course I'm
    working on it part time between school, my day job (Where I use C#
    with WPF), my second job, and running an indie game development
    team, so that could contribute to how long it's taken me to pick
    it up :P).  It does take time to get used to the PyQt thought
    process, but it will come.  Of all the resources I've used, I keep
    coming back to Justin's, so you're on the right track with that one.

    Best of luck,

    Joe


    On 2/15/2014 5:39 PM, Mark Serena wrote:
    Cool, well there's a lot of new territory for me to cover, I'm
    currently watching your cmiVFX vid on PyQt and also got the one
    off CGSociety, so hopefully I'll feel less lost soon.
    Thanks again Justin.


    On Sun, Feb 16, 2014 at 12:35 PM, Justin Israel
    <[email protected] <mailto:[email protected]>> wrote:

        Hah, ya no worries. This wasn't the type of question I had
        posted about. It was based on my existing previous example,
        and more theoretical about how much could be done with the
        render view panel. I was interested in testing it.

        Technically mostly everything in the Maya UI can be hijacked
        to some extent. The render view button calls a runtime
        command that you could probably swap out to launch yours. If
        you made your app a scripted plugin, then you could have it
        hijack that functionality on plugin load, and restore it on
        unload maybe.

        On Feb 16, 2014 2:26 PM, "Mark Serena" <[email protected]
        <mailto:[email protected]>> wrote:

            Ooooo that's perfect!!! Thank you very much for looking
            into that Justin, I remember your post about people
            asking questions and expecting the answer laid out for
            them, I wasn't trying to coax you into writing anything,
            but thank you for the example!
            It's possible to make the default render button launch my
            new UI right? I'm sure the Charcoal Script Editor that
            Chris Zubrigg does this. I might look into that and that
            should stop the focus being stolen?

            Thanks again!


-- You received this message because you are subscribed to the
    Google Groups "Python Programming for Autodesk Maya" group.
    To unsubscribe from this group and stop receiving emails from it,
    send an email to [email protected]
    <mailto:[email protected]>.
    To view this discussion on the web visit
    
https://groups.google.com/d/msgid/python_inside_maya/CACfkVJc1bK3gtw-qi43-uG-fnhfT8Y5xhbe4eLLvyTv59wuU8A%40mail.gmail.com.


    For more options, visit https://groups.google.com/groups/opt_out.

-- You received this message because you are subscribed to a topic in
    the Google Groups "Python Programming for Autodesk Maya" group.
    To unsubscribe from this topic, visit
    
https://groups.google.com/d/topic/python_inside_maya/pTUd6aYeQCg/unsubscribe.
    To unsubscribe from this group and all its topics, send an email
    to [email protected]
    <mailto:python_inside_maya%[email protected]>.
    To view this discussion on the web visit
    
https://groups.google.com/d/msgid/python_inside_maya/53005571.3090308%40gmail.com.


    For more options, visit https://groups.google.com/groups/opt_out.


--
You received this message because you are subscribed to the Google Groups "Python Programming for Autodesk Maya" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/python_inside_maya/CACfkVJeifenCBy-sY6DUU8_e571SBUFBgu78N3tPnHXvraZgVw%40mail.gmail.com.
For more options, visit https://groups.google.com/groups/opt_out.

--
You received this message because you are subscribed to the Google Groups "Python 
Programming for Autodesk Maya" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/python_inside_maya/53013486.2000502%40gmail.com.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to