Source code Q&A
Q: Who will benefit from this code?
A: Artists/TDs and aspiring artists/TDs, who want to learn how to use core Python, PyQt and/or Python for Maya/Houdini/Nuke.
Q: What level of knowledge do I need to have?
A: Basic knowledge of Python to be able to read the code and understand the comments.
You will also need basic knowledge of Maya/Houdini/Nuke to be able to test the code.
If you don't have any Python experience, I suggest the official Python tutorial - http://www.python.org/doc/
Q: What can I learn?
A: You will learn how to:
use core Python to:
use modules
save files
read and parse files
use strings
use data structures like lists, dictionaries, tuples, and sets
find patterns using regular expressions
use exception handling
use PyQt to:
create dialog windows with a variety of controls
create menus and a status bar
subclass an existing controls to add custom behavior
connect one type of control to another (e.g. - connect a textbox to a slider)
process menu actions and button actions
use stylesheets
simulate float values
get around the restrictions set by PyQt's event handling mechanism
use Python for Maya to:
create shelf tools, which call Python modules
determine the number and type of selected objects
create dialogs and retrieve user input
retrieve scene settings and node properties
set scene settings and node properties
read and write to files
create new nodes
determine which channels are animated
call MEL commands and retrieve their output using Python
use Python for Houdini to:
create custom shelf tools
connect a shelf tool to a PyQt user interface
create and delete nodes or networks
set node/network flags
change focus to a specific node or parameter folder
work with selections
clean up 'orphaned' nodes/networks
create a variety of spare parameters in folders and sub-folders
use a spare parameter to enable/disable other spare parameters
connect spare parameters to node channels
create expressions using formulas and channel references
call HScript commands and retrieve their output using Python
create dialog windows with a variety of message types
open a help browser window and load a helpcard
determine which channels are animated
retrieve scene settings and node properties
set scene settings and node properties
re-arrange nodes
create keyframes
create CHOP networks and read external files
convert Maya settings like aperture and shutter angle
use Python for Nuke to:
create a custom shelf
create nodes
read and set node attributes
determine which channels are animated
keyframe channels
create dialogs and retrieve user input
Note: Set Tab to 4 spaces in your code editor.