• 1/3

Maya 2011 Highlight - QT user interface overview (plus GDC)

Posted by STLR, 10 March 2010 12:00 am

Well it's GDC time again. This will mark my 10th consecutive GDC and in turn my 10 year anniversary with Autodesk/Alias. GDC is always a good time. It's fun to get to see all of the great people I've met over the years gathered together in one place. It's also one of the few conferences that starts at a perfectly reasonable 10am. They apparently know their audience :) I just hope I can get all of my prep work finished and out of the way today so I can actually enjoy some of the nightly "socializing" that goes on. It's no fun to be stuck in a hotel room prepping demos when everyone else is out painting the town various colors.

This year will be extra exciting for us because we are announcing a ton of new stuff this week. As I'm sure you've seen by now Maya 2011 was announced yesterday. It's a huge release with tons of new features. I've been given the green light from Cory to start posting some demo movies of the new features. So I'll be spending the next few weeks here on the blog covering various topics related to "what's new in Maya2011".

For starters, this week I'm going to cover the basics of the new QT user interface. I'll also discuss how QT Designer can be used to create UI for your own custom tools. One thing I fail to point out in the demo movie is that all of your old MEL based UI should still be fine. You can still use the traditional MEL UI commands to create windows, buttons, sliders, etc... just as you always did. But now you have to option of creating your UI directly with QT as well. 

BTW - let me also say that I am by no means a QT expert (still learning) so no low level QT specific questions please :)

BTW2 - you may notice at the end of the demo I show a QT-ified version of LayoutTools.  This is something I'm still working on but hope to finish up soon.  I'll posted the 2011 version of LayoutTools in a few weeks.
 

 

Note:  Accidental F$%# tab has now been replace by the new Frack/Darn/Dang/Shoot/Shucks tab :)

35 Comments

oglu

Posted 10 March 2010 8:05 pm

looks really great... thanks...

P44v9n

Posted 10 March 2010 8:20 pm

awesome
FINALLY a nice sexy interface for maya with dockable panels <3
and nice gradient background

kevinseven

Posted 10 March 2010 8:49 pm

What's that new shelf tab I see in your VID labeled "F*#K"? Something really cool in 2011 I guess ;-)

Francois Maree

Posted 10 March 2010 8:53 pm

Yeah, I'm looking really forward to Maya 2011. Finally a dark UI for those of us spending lots of time in Maya, and a very sweet customizability. Thank you Autodesk!

STLR

Posted 10 March 2010 10:06 pm

Yep... here's a pic of the AE and CB visible at the same time.

http://area.autodesk.com/userdata/fckdata/8849/image/AttrEd_ChanBx.jpg

sacslacker

Posted 10 March 2010 10:11 pm

You guys have been doing a great job at Autodesk. Keep up the great work. I'm hoping us subscription people will see this stuff soon. I know there are fixes in 2011 that I could use right away. Sooner the better here.

3dtrialpractice

Posted 11 March 2010 12:01 am

BRAVO!!
this is sweet! wow.. willthere be a guide that covers the Qt designer.. and the dynamic property commands? (or are the dy prp comands just literally mel comands always?)

when will 2011 be released to maya subscription memebers?

claydough

Posted 11 March 2010 1:26 am

hmmm..
colored syntax in the script editor!
Can't wait fer the script editor features video mentioned.

hopefully the SE background color can be darker like the rest of th UI?
My eyes would thank u guys very much.

STLR

Posted 11 March 2010 1:28 am

Ha... yes it can be a dark bg if you're so inclined I happen to like the traditional white bg for text but I'm kind of old fashioned that way. I will probably post a "what's new for scripting" movie next week. So stay tuned because there is more

Arben Meta

Posted 11 March 2010 3:11 am

wow great interface, but why dont you just update maya paint effects to be more like vue xstream so we dont have to use vue and one more thing why not make particles node based in release 2011

claydough

Posted 11 March 2010 3:21 am

:-)
great work!
Thanks Steve.
Can't wait till u go on tour again so we can pick yer brains.
This release is getting the best buzz I have seen from any release!
Congratulations.

Are u planning on covering viewport 2.0
( shaders? improved lighting include improved shadows? DirectX? )

STLR

Posted 11 March 2010 8:54 am

Yep... will cover Viewport 2.0 and show some great examples of it in action. Stay tuned...

Arben - we did do a lot in this release but will always be more to do. But if you want node based particles asap there is always ICE

otuama

Posted 11 March 2010 10:00 am

Love the new F*ck tab. Hmmm, wonder what's in that one :-)

kosirm

Posted 11 March 2010 11:42 am

It's all I ever wanted in terms of flexible UI in maya, and more... Using qt for creating UI elements - that's over my expectations! Thanks, autodesk! Hopefully it will be stable as before and nobody will regret this move... Thanks again!

STLR

Posted 11 March 2010 4:09 pm

Hahaha... Oops... I promise that was an accident. That was my frustration shelf where I put test scripts that I'm having "issues" with If you guys keep talking about it they're going to make me take it down.

phoppes

Posted 11 March 2010 10:17 pm

Outstanding... been waiting for this for some time. This is very, very cool. Worth the wait.

PS - Love the F$%K tab. Half my work would be in that tab!

Bart Simpson

Posted 12 March 2010 2:23 am

great stuff. love the implemtation of QT. This is going to be a major plus to user experience while working in maya.

Naqoyqatsi

Posted 12 March 2010 4:26 pm

very good, i hope maya 2012 supported cuda for dynamics and other stuff.

STLR

Posted 15 March 2010 6:02 pm

So who knew that an accidental F$%K tab would get so much attention? Besides doesn't everyone have a F$%K tab on their shelf? To avoid further offending anyone I have updated the movie to now show the dynamically variable Frack/Darn/Dang/Shoot/Shucks tab. Note: this is not a QT specific UI element.

BTW - I think I will now have to hide other secret tabs in my future demos

STLR

Posted 23 March 2010 2:26 pm

Sorry for the delayed response to some of your questions...

siy01 - no you won't use QT for marking menus. They will have the same behavior and authoring mechanism for now.

shawner - yes you can use PyQt although my knowledge is limited there, but I know people are using it. Also you can use QT designer, xml, as well as the lower level QT api to create and define UI.

dougBrooks - I'm looking into this one. I don't know much about QT licensing, but I will try to find out.


STLR

Posted 6 April 2010 7:32 pm

Smann - that's odd about the "off" vs 0. Either one should work. As for the Pane you should be able to use the standard deleteUI command to delete it I believe.

STLR

Posted 6 April 2010 7:44 pm

PyQT gereral info...

Pyqt is a python wrapper around QT. You could use it instead of C++ for creating UI elements. Qt (with c++) or PyQt let you build new widgets. You could then expose those widgets in QT Designer so that you can then assemble them graphically.

Licensing general info...

For more info about QT licensing check out this page...

http://qt.nokia.com/products/licensing/licensing

While the QT - LGPL version does not require a license fee it still has terms and conditions. We suggest you review any licensing concerns with a legal counsel, and contact Nokia for more info.

STLR

Posted 8 April 2010 4:00 pm

eon1000 - Check out the "Working with QT" docs that are in the API section of the Maya docs. They are kind of hidden unfortunately. You can open the files directly in a browser. It covers things like the "loadUI" command as well as how to use QT with plugins.

C:/Program Files/Autodesk/Maya2011/docs/Maya2011/en_US/API/Working_With_Qt.html

For example... "Maya ships with only that subset of the Qt libraries which it uses itself. Plug-in developers wanting to work with Qt will have to install Qt separately to gain access to the Qt header files and those libraries not included with Maya."

SCandell

Posted 9 April 2010 4:28 pm

@STLR thanks a lot I made a simple ui using Qt and Mel its called Reverse Foot Control Creator and I uploaded it to the Area. Qt is awesome and simple. after about a day of basically trial and error I achieved something that looks great (it would take me 20 min to recreate the whole thing now). Do hope to see some more detailed documentation, and cant wait for layout tools and bonus tools. again Qt is just awesome, looks great, simple, robust and stable.

gametech1

Posted 15 April 2010 1:29 am

Can I make a bright UI theme somehow ? I prefer bright over dark.

STLR

Posted 21 April 2010 5:22 pm

tylerart - you would get values from UI elements in the same way that you did before that part hasn't really changed. However keep in mind that not all QT UI elements are supported in Maya. So something like a radial dial or a spin box wouldn't work without creating an interface for it via the api.

gametech1 - no there is no way to go back to the light UI... I was like you originally in that I didn't like the dark UI. After working with it for a few months I'm coming around though. They swear that research has shown that dark is better for your eyes. With my tired old eyes I'll do what i can at this point to preserve them

css_maya

Posted 4 May 2010 3:36 pm

Hello every body.
STLR : It's possible to use dial and spin box controls in Maya with a little tweak.
I searched the web and found no good tutorial for QT designer so, I sat down and wrote one !
take a look everybody, i think you find it useful

https://www.creativecrash.com/tutorials/using-qt-designer-for-mel-interfaces/

by the way thanks for code for docking UI.

STLR

Posted 11 May 2010 2:53 pm

css_maya - thanks for sharing the tutorial!

rokit

Posted 15 June 2010 8:31 pm

I'm curious what is the python command in QT Designer for doing the exact same thing? Where can I get a list of all the commands? I looked in the docs but couldn't find anything.

rokit

Posted 17 June 2010 9:30 am

Figured out the python thing too. Make a script called GridToggle.py with the following:

import maya.cmds as mc

def run():
mc.ToggleGrid()

make sure the line "mc.ToggleGrid()" is indented. Save it to your Documents/maya/yourMayaVersion/scripts folder.

In QT Creator, add a dynamic attribute to your button called "+command" without the quotes. In the field type "GridToggle.run()" including the quotes. Save that and open Maya. Make a quick script for opening your UI and importing the GridToggle module like this (make sure you're in the Python tab):

import maya.cmds as mc # doesn't have to be part of the script if you've already executed it during your session
dialog1 = mc.loadUI(f='/users/yourUserName/Documents/...etc wherever you have the ui saved')
mc.showWindow(dialog1)
import GridToggle
reload(GridToggle) #this is so you can close the ui and make changes to GridToggle.py if needed. You might also #have to delete the compiled python file which is GridToggle.pyc.

Run the script, hit the button, and you should be able to turn the grid on and off. Hopefully this will at least get you started.

Leksey

Posted 27 September 2010 7:59 pm

It looks like it can't be do means QT(((

Sreekanth Nair

Posted 16 December 2010 11:09 am

how can i get to the name of folder in a optionMenu using QT

proc foldr()
{
string $proj = "";
string $folders[] = `getFileList $proj`;
}
and what command should i give to activate this proceedure

STLR

Posted 4 January 2011 6:18 pm

Hi guys/gals - I'm afraid I don't have the bandwidth to follow up on all of the various QT UI questions that have come up... and honestly it's not really my area of expertise anyway. This post was really meant as a very general introduction. It appears that others have chimed in with a few answers, so thanks for that.

Otherwise I recently ran across a couple of tutorials that some of you may find helpful...

http://www.creativecrash.com/maya/tutorials/scripting/mel/c/maya-mel-qt-and-you-interfacing-with-the-qt-designer

http://www.creativecrash.com/maya/tutorials/scripting/mel/c/using-qt-designer-for-mel-interfaces

HorganovskiG9

Posted 16 January 2011 10:29 pm

After some looking around I learned that Qt does not currently support Float sliders, so I used MEL to divide the slider output value by 100 and then fed that back into a text field beside the slider. So now the user changes the slider in whole numbers from 0 to 100 but the output reads 0 - 1.

It works fine, but a little tedious to set up, hopefully in the future Qt integration will be more complete and this will be simpler to do.

zwleopard

Posted 23 June 2011 2:05 am

so can i use custom widget? e.g. a transparent form

Add Your Comment

You must be logged in to post a comment.

Please only report comments that are spam or abusive.