PyQt in Maya

Wed 19th Sep 2012, by Paul Hellard | Productfocus

CGSociety :: Artist Profile

19 September 2012, by Paul Hellard

PyQt in Maya

Malcolm Thomas-Gustave is an alumni of Full Sail University, back when it wasn’t a University. This is where he graduated with an Associate’s degree. He was heavily focused on rigging and scripting back then. He says the only training he’s done is either on the job or through courses like the ones provided by CGSociety and their CGWorkshops.

In the CGWorkshop he is presenting in October, Lucasfilm's Malcolm ‘Chocolossus’ Thomas-Gustave shares his PyQt secrets and techniques. He says that by the end of his eight week workshop students should have a broad spectrum knowledge of PyQt that will allow them to tackle problems by knowing where to look for solutions. Along the way, they'll learn to setup PyQt properly, understand the structure of classes and sub-classing and become familiar with PyQt's core syntax. In later weeks, Qt Designer will be explored and used to create unique UI layouts that will work both within Maya and outside it. The customizable nature of Qt will be demonstrated, building dynamically generated UIs and learning how to make them look their best. “We'll look at threading and how it can work with your UIs to improve functionality, and discuss how working with UIs can fit with your pipeline,” he says. “Finally, you'll create a personal project using everything you've learned to help you handle tasks in your particular field.”

“Currently I’m the Lead of the Creature Development department for Feature Animation at Lucasfilm Singapore,“ says Malcolm. “We’re working on the next animated feature for Lucasfilm, but I can’t talk too much about that specific project. With this project I’ve been doing a lot of rigging, scripting, programming, some R&D work and I’ve gotten deeper into PyQt as well.“

“My career started in cinematics. I spent a couple years at Blur Studio, working on something like 30 projects and I really loved that pace and environment but decided I wanted to work on films. That lead me to Imageworks for Beowulf and eventually to Weta Digital for Avatar. All of which I found incredibly rewarding and I gained a lot from each opportunity.”

personal personal personal personal

Following his time at Weta, Malcolm went into teaching back in the Full Sail University. He ran a MoCap class for almost two years and was teaching pipelines and structure for students to complete an entire short movie within a month. During this time, he also had a lot of freedom to pursue other interests and that’s when he started getting really deeply into Python development, including PyQt.

After teaching for so long, the desire to get back into production was never far away. After he started looking around, coming to Singapore for Lucasfilm became a reality for him. “I’d never really thought about moving to Asia, but I’m glad I did because it’s taught me a lot about myself and what I want from my career and life,” explains Thomas-Gustave.


With each job Malcolm Thomas-Gustave has had, he’s found people that have given him a new perspective on things. “I never assume that I know everything, or even that I know enough,” he explains. “Even now and then I value the opportunity to learn from people that have been here before or done what I’m doing in different ways. I know early on at Blur Studio, I had some conversations with Tim Miller that helped to shape my view on work and life and balancing my goals. And recently working with Aaron Holly was a very rewarding experience to be able to gain insight from someone whose career has been so impactful on my chosen field.”


PyQt is a Python based front-end for working with Qt, one of the industry standards for UI development. It gives you access to a lot of the powerful functionality of QT without having to be a C++ programmer. You can create entire programs using the Qt framework, and a couple versions back that’s the route Maya decided to go down. With that switch over, it makes it very straightforward to integrate Qt into Maya.

“Back in secondary school I used to make little tools for myself,” Thomas-Gustave explains. “They were impossible for anyone but me to understand. But as I’ve worked more and had to develop tools for other people, I’ve put a lot more thought into the overall user experience. I like thinking about how someone will work with the tool, what their workflow might be and always trying to create ways for them to do more if they decide they need more control.” This obsession has lead Malcolm into the niche field of PyQt.

Scripting and UIs can be quite daunting at first, but with a little bit of work and direction, most people can understand the basics well enough to create some really cool things. From there it’s up to them how far they push it, but even with just the basics you can improve your workflow and productivity which just gives you more time to work on other fun things.

“My most treasured possession is any notebook and pen I have on hand. I’m constantly writing ideas for stories in them. I just find that I have far too many ideas to remember them all, so I try to keep a notebook handy. Every once and awhile I’ll convert the whole thing to digital. The goal with it all is to eventually get into screenwriting. I still love the production side of the industry, but it would be interesting to come at it from the purely creative angle.”

Besides the notebooks, it would be his collection of Dr. Who memorabilia, he adds.



blog comments powered by Disqus