Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct
[ANN] PyQt4 UI Development for Maya
justinfx last edited by
!http://www.cmivfx.com/images/tutorial_images/1350054625_Master.jpg(PyQt4 Main Image)!
cmiVFX Releases New PyQt4 UI Development for Maya Featuring Justin Israel
cmiVFX just released the first of a series of training videos for PyQt4 UI Development for Maya, featuring Justin Israel. The base of this video is not just for Maya, but for ANY app structure that exists today. Maya is covered in the second half of the video to help people associate a stronger principal interfacing structure with one of today's most popular graphics packages. We would like to explicitly state that this video would be extremely helpful to a large range of VFX producers using different software pipelines. The goal of this video is to let the user interface their tools using PyQT4.
Learn how to wrap your custom tools inside of a graphical user interface with PyQT4.
Justin Israel's PyQt4 UI Development for Maya
This tutorial is about learning PyQt4 python bindings for the Qt Framework, and how to introduce new UI elements to Maya as a platform.
We discuss what comprises a "Framework" and a "GUI Framework", and how Qt and PyQt4 work together.
Getting Started with PyQt4
There are multiple ways of getting a working installation of PyQt4, both for the general system and for Maya. We look into these approaches to get your system up and running to begin working with PyQt4!
We also talk about what is included, such as command line tools and applications, tips on how to test and learn the code, and how to structure a project.
Lets get crackin' and learn the basics!
• What is a QObject? What is a QWidget? Common PyQt4 classes are explained in detail
• Working with the Qt Designer application, to build a UI visually
• Layouts: Making widgets resize elegantly and stay organized in your design
• Coordinate space: How do widgets transform in your 2D screen space?
• QApplication and the Qt Event Loop: The engine that runs your UI
• Events, Signals, and Slots: How components communicate changes and how the application can respond to changes to make it dynamic
With an understanding of the framework components, we can begin working with fully functional stand-alone examples.
• Common PyQt4 app template
• Subclassing Widgets: Creating custom functionality to the existing classes provided by PyQt4
• Dialogs: Raising dialog windows above existing windows, Modal vs Non-modal, and creating forms. We look at different ways to validate the data provided by the user, to these dialog forms.
PyQt4 and Maya Introduction
Finally, some Maya action! Maya has a slightly different approach to using PyQt4…
• How does the QApplication and event loop work?
• Common Maya PyQt4 app template
• Looking at the Maya API's MQtUtil class
• The sip module: Helping us translate between Maya's Qt and our own PyQt4 code
Replicating Maya's UI Components
What better way to see examples of creating UI for Maya than to replicate some existing functionality? This gives us the opportunity expand with custom functionality
In this chapter we will take two different UI components in Maya, and do a basic custom version of our own, and show to how link them up to Maya's own callbacks.
Some features of this chapter include
• The QTableWidget
• Model / View separation with QTreeView
• Docking windows into the Maya interface
• Mixing together PyQt4, the Maya API, Maya commands, and callbacks
• Sorting model data
A button can be a button, and a slider might look alright in its stock form, but sometimes we want to customize the look of our widgets. This chapter introduces multiple ways of achieving custom looks to our components
• Stylin' Stylesheets: Use CSS-like syntax for applying style sheets to widgets
• Painting By … Paint events: For even more control, we can tell a widget exactly how to draw itself on the screen. We will look at two different examples of how to use custom painting.
About The Mentor
Justin is a California based artist who graduated from Cal State Long Beach (CSULB) with a Bachelor’s in Film and Video production. He started his Visual FX career at Stan Winston Digital as an artist and then developed strong pipeline/programming skills at Sony Pictures Imageworks while working on Spiderman 3, I Am Legend and The Watchmen. Justin currently works as Senior Pipeline Developer on the award winning television series South Park, designing tools for Maya, Nuke, and general pipeline. His passion for live-action visual effects and film leads Justin to gain fundamental knowledge in all facets possible. His experience includes paint, roto, compositing, python and pipeline development. His work includes feature films such as Tropic Thunder, Commander & Chief, The Compass, Bride Wars, Mamma Mia, I Am Legend, Spiderman 3, The Watchmen, Fantastic Four and more.
Justin has worked as both an artist and a visual fx supervisor, in film and television, as well as directing and practical lighting experience, and constantly looking for new challenges and opportunities to learn. Justin's website is http://www.justinfx.com
All cmiVFX videos come with all the training materials you can need right from our website. No matter what time of day, your location, or how your feeling, cmiVFX will be there waiting for you!