Oh my. Maya is Qt! Kristine Middlemiss, Autodesk Developer Consultant, Autodesk Developer Network

Similar documents
Maya Python. for Games and Film. and the Maya Python API. A Complete Reference for Maya Python. Ryan Trowbridge. Adam Mechtley ELSEVIER

Qt Essentials - Fundamentals of Qt Module

Android App Development

Qt + Maemo development

Qt Essentials - Fundamentals of Qt Module

PySide. overview. Marc Poinot (ONERA/DSNA)

Object-Oriented Programming

Why you should be excited about Qt 5

Python GUI programming with PySide. Speaker: BigLittle Date: 2013/03/04

Qt for Device Creation

CopperSpice: A Pure C++ GUI Library. Barbara Geller & Ansel Sermersheim CPPCon - September 2015

Qt-Interface For Volume Visualization

CS 4300 Computer Graphics

Getting started with Tabris.js Tutorial Ebook

Kick Start your Embedded Development with Qt

Designing Interactive Systems II

Review. Designing Interactive Systems II. Introduction. Web 2.0 in keywords GWT Cappuccino HTML5. Cross platform GUI Toolkit

Developing Cross-Platform Native Apps with AppStudio for ArcGIS. Jo Fraley Erwin Soekianto

LECTURE 17. GUI Programming

INTRODUCING Qt The Cross-Platform C++ Development Framework. Presented by Cody Bittle

KIVY - A Framework for Natural User Interfaces

GUI in C++ PV264 Advanced Programming in C++ Nikola Beneš Jan Mrázek Vladimír Štill. Faculty of Informatics, Masaryk University.

Application Development With Qt Creator 2nd Edition Format

ECE 3574: Applied Software Design. Integration Testing

Document Revision No.: 1 Revised: 03/12/09 RIT KGCOE MSD Program. P09027 Upper Extremity Motion Capture System. Software Manual

Autodesk DirectConnect 2010

Leverage the Power of Progress Developer Studio for OpenEdge. 8 th Oct, 2013

What s new in CDT 4.0 and beyond. Doug Schaefer QNX Software Systems CDT Project Lead

Software api overview VERSION 3.1v3

Table of contents. Autodesk Entertainment Creation Suite 2016 Questions and answers. 1. General product information 3. 2.

NHERI SIMCENTER PROGRAMMING BOOTCAMP JULY 30 THROUGH AUGUST 3, 2018, AT UC BERKELEY S RICHMOND FIELD STATION. GUI Development

Lab 12: GUI programming with Qt

Connect and Transform Your Digital Business with IBM

Mac Os X The Missing Manual For Pc Emulator

News for M3 User Productivity Smart Office/H5 Client/Mashups

SCIRun: Module Development Basics

Accelerating Realism with the (NVIDIA Scene Graph)

ArcGIS Viewer for Silverlight Advanced Topics

Steps to Set Up the Environment of Xamarin in Visual

Graphics Performance Analyzer for Android

Writing your first Web Data Connector

Agenda. Knoppix OS and Open Source Development Software Tools. Knoppix Features. What is Knoppix. Knoppix Features. System Requirements

Rational Systems Developer

DEVELOPING APPS FOR. Note: This ebook relies on and uses information from the Google Glass Developers site.

Moblin v2 SDK. Open Source Technology Center Presented by Bob Spencer

(Refer Slide Time: 1:12)

Graphical User Interfaces

JavaFX. JavaFX Overview Release E

Android Essentials with Java

Configuring and Customizing the ArcGIS Viewer for Silverlight. Katy Dalton

Introduction To Python Programming And Developing GUI Applications With PyQT By B. M. Harwani

FEATURES EASILY CREATE AND DEPLOY HIGH QUALITY TCL EXECUTABLES TO ANYONE, ANYWHERE

Portable GUI for ptpython shell

Nokia for developers. Alexey Kokin. Developer Relations

Python GUIs. $ conda install pyqt

Copyright

Qt in MeeGo. Zhang Chi Manager of Qt & MeeGo ecosystem, Greater China

Custom Component Development Using RenderMonkey SDK. Natalya Tatarchuk 3D Application Research Group ATI Research, Inc

HPE Java Add-in Extensibility

ArcGIS for Mobile An Introduction. Bonnie Stayer

Spark processor programming guide

A Simple Path to Parallelism with Intel Cilk Plus

PTN-202: Advanced Python Programming Course Description. Course Outline

ArcGIS Viewer for Microsoft Silverlight An Introduction

Mobile Application Development

Web Mapping Applications with ArcGIS. Bernie Szukalski Derek Law

ArcGIS for Developers: An Introduction. Moey Min Ken

HP UFT Java Add-in Extensibility

User Interface. Technology Domain Roadmap & Strategy. 22 February 2010 Scott Weiss, UI Technology Manager

Android. Lesson 1. Introduction. Android Developer Fundamentals. Android Developer Fundamentals. to Android 1

manifold Documentation

Introduction to Mobile Development

SIG: ROS GUI. Sep. 26, 2011 SIG: ROS GUI Dorian Scholz, Dirk Thomas 1

2. The quiz screen showing the question, text field (QLineEdit in QT) for the answer and the Next Question button

QVR Pro. Opened Surveillance Platform System. David Tsao

Qt Quick Hybrid models and Mobility

SD Get More from 3ds Max with Custom Tool Development

Manual Android Virtual Device Failed To Load Click Details

Lecture 1 Introduction to Android. App Development for Mobile Devices. App Development for Mobile Devices. Announcement.

Reach the Next Billion with Engaging Apps: Full Developers

PROGRAMMING GOOGLE APP ENGINE WITH PYTHON: BUILD AND RUN SCALABLE PYTHON APPS ON GOOGLE'S INFRASTRUCTURE BY DAN SANDERSON

Manual Visual Studio 2010 Web Developer Tools Offline

About Parallels Desktop 14 for Mac

This guide will show you how to use Intel Inspector XE to identify and fix resource leak errors in your programs before they start causing problems.

Flex 3 Pre-release Tour

The Eclipse Rich Client Platform

+ C++11. Qt5 with a touch of C++11. Matthew Eshleman covemountainsoftware.com

Porting applications to Qt. Kevin Funk, Software Engineer KDAB

GEN21550 To the future, and Beyond: Re-imaginig AutoCAD Drawing experience

QDK makes self-developed apps run smoothly on a NAS. An in-depth guide for application developers

News in RSA-RTE 10.1 updated for sprint Mattias Mohlin, November 2017

Reduce SW Development Time with DAVE 3. March, 2012

Qt a Framework for the Multi-Screen World

Copyright

Lab 1 The Basics of Qt

Display Modules (DL-DM) Application Developer's Guide

IBM Bluemix platform as a service (PaaS)

Application Development With Qt Creator

C++ GUI Programming with Qt 3

Intel Integrated Native Developer Experience 2015 Update 2(OS X* Host)

Transcription:

Oh my. Maya is Qt! Kristine Middlemiss, Autodesk Developer Consultant, Autodesk Developer Network 1

2 Biography

Topics» Introducing Qt» How Qt fits into Maya» Ways to work with Qt»Qt Designer with Maya Commands»Maya API»PyQt»Qt SDK 3

Welcome to Qt in Maya!» Autodesk Maya 2011 is built upon the Qt UI Toolkit 4.5.» This powerful cross-platform toolkit brings with it a wealth of new features and capabilities.» We are extremely excited to bring this new functionality to you! 4

Qt (Cute)» Application and GUI framework» Cross-platform» Trolltech bought by Nokia» Qt licensing» GNU LGPL» Commercial 5

Why Qt?» Create compact, high-performance apps» Focus on innovation, not infrastructure coding» Speed development and lower training costs intuitive and easy-to-use» Fully access code for easy debugging and customization 6

What does it look like?» Brand New Look and Feel! 7

8 UI Demo

What does Qt mean for an:» Artist» Customize at your finger tips» Scripter» Some new MEL commands» API Developer» This is where the fun begins! 9

10 Has MEL Gone Away?

How does Qt fit in with MEL? User View MEL/Python UI Commands Internal Qt UI UI Toolkit Maya Application 11

Previous Internal UI Tool Kit Windows Mac Linux Windows Qt toolkit Native UI Carbon Qt toolkit Motif Qt toolkit 12

Extending Maya Commands» New UI Maya commands:» dockcontrol» toolbar» treelister» loadui» Check out» What's New in MEL and Python 13

14 Maya Commands Demo

15 Ways to Integrate Qt with Maya

Ways to Integrate Qt with Maya 1. Qt Designer with Maya Commands 2. Maya API 3. PyQt 4. Qt SDK 16

17 Qt Designer with Maya Commands

18 Qt Designer Nokia Tool

Qt Designer» Visual GUI design of dialogs and windows» Layout widgets» Edit widget properties» Add tool bars, menus, and actions» Connect predefined SIGNALS and SLOTS» Save file format is XML» uic User Interface Compiler will generate code 19

Qt Designer 20» Qt Designer: *. ui» MEL command: loadui» string $dialog1 = `loadui -f "C:/mydialog.ui"`;» showwindow $dialog1;» Advantages» Easy interface building» New control added» More functionality and flexibility: i.e. docking windows» Embed MEL/python command» create dynamic property on widget» put MEL/python command as a string

21 Qt Designer Demo

22 Maya API

Maya API» Qt Utility Class: MQtUtil» Provides basic methods for accessing the Qt controls» Allow user to look up Maya controls by name and retrieve its Qt pointer 23

MQtUtil Class static QWidget* findcontrol(mstring controlname, const QWidget* ancestor); static QWidget* findlayout(mstring layoutname, const QWidget* ancestor ); static QAction* findmenuitem(mstring itemname); static QWidget* findwindow(mstring windowname); static MString fullname(const QObject* uielement); static QList<QObject*> getlayoutchildren(const QWidget* layout); static QObject* getparent(const QObject* uielement); static QWidget * mainwindow () static MNativeWindowHdl nativewindow (const QWidget *control) static MString tomstring(const QString& qstr); 24 static QString toqstring(const MString& mstr);

Safety First» Safest way create your own Qt windows» It s not recommended to use the Qt API to modify existing Maya UI elements 25

Working with Qt Examples» Qt Examples in the devkit» saveswatchescmd» qtforms» helixqtcmd» No Visual Studio Project» Use Makefile.qt» Download Qt package» Launch command prompt window» Go to devkit/plug-ins directory 26» Execute Command: nmake -f Makefile.qt

27 Maya API Qt Demo

28 PyQt

How does the Qt SDK Differ?» Python binding to Qt library» External API from Autodesk, created by Riverbank Computing Limited» Provides developers with the tools to develop and deploy applications 29

Why PyQt?» Combines all the advantages of Qt and Python» Has all the power of Qt, but is able to exploit it with the simplicity of Python.» You don t need to learn a new language if you already working in with Maya Python 30

What is PyQt?» Is a set of Python bindings for Qt» There are two sets of bindings: 1. PyQt v4 supports Qt v4 2. The older PyQt v3 supports Qt v3 and earlier» Main Modules: 1. QtCore 2. QtGui 31

Installing PyQt on your computer» Download PyQt (PyQt modules)» Download SIP (C++ interface code for Python)» Building Qt» Building SIP» Building PyQt» Provide pyqtmaya2011.pdf 32

33 Qt SDK

How does the Qt SDK Differ?» External API from Autodesk» The technology is just embedded in Maya» Provides developers with the tools to develop and deploy applications» Maya leverages this toolkit 34

Installing Qt on your computer» Decide on Qt license for Maya plug-ins» Download and install Qt source 4.5 Mingw (required for Qt)» Rebuild Qt from source» Configure» Set Paths 35» Build plug-ins

What CAN it look like?» Interesting 36

What CAN it look like?» Google and I would get along 37

What CAN it look like?» Yikes!!!!!! 38

What CAN it look like?» No comment ;) 39

40 Wood Panel Demo

Summary» Artist» Customize at your finger tips» Scripter» Some new MEL commands» API Developer» This is where the fun begins! 41

Summary 1. Qt Designer with Maya Commands 2. Maya API 3. PyQt 4. Qt SDK 42

Accelerating Your Development & Your Games www.intel.com/go/parallel One integrated toolkit to develop, optimize, check & tune 43

Developing & Playing Games On Intel Intel Core based clients Intel Xeon based workstations Smart Performance Brilliant Visuals Workload Optimized Innovation Platforms Intel HD Graphics 3000 An entirely new gaming experience with processor based graphics Adaptive performance super charges your gaming experience with Intel Turbo Boost Technology 2.0 Intel HD Graphics P3000 delivering professional graphics features, functions & performance Processing, memory & bandwidth capacity that helps to accelerate your innovations 44

Q & A 45 Image courtesy of Firaxis Games

46