Me
• Call me TP
• Follow @uranusjr
• https://uranusjr.com
Slide 3
Slide 3 text
No content
Slide 4
Slide 4 text
No content
Slide 5
Slide 5 text
http://macdown.uranusjr.com
Slide 6
Slide 6 text
www. .com
Slide 7
Slide 7 text
Terminology
• User interacts with a program through
a user interface (UI)
• A UI based on images is a graphical
user interface (GUI)
Slide 8
Slide 8 text
I want a GUI library
that works.
works
Slide 9
Slide 9 text
No content
Slide 10
Slide 10 text
What I Want
• Native UI and UX
• Portability
• Ease to deploy
• Pythonic API
Slide 11
Slide 11 text
What We Have
Slide 12
Slide 12 text
Tkinter
• “Python’s de-facto standard GUI”
• Native nowhere
• Themed Tk
• Binding to Tcl/Tk
• Lean, but may be lacking
Slide 13
Slide 13 text
Platform-specific
• PyObjC on OS X (Cocoa)
• Win32API on Windows
• PyGObject on Gnome (GTK+)
• Native UI/UX
• Needs to deploy C binding
• Very weird API
Slide 14
Slide 14 text
Special Interpreters
• .NET via IronPython (Windows)
• AWT/Swing via Jython
• Weird API
• Compatibility with other libraries
Slide 15
Slide 15 text
Binding to Third-party
• PyQt and PySide to Qt
• wxPython to wxWidgets
• Works quite natively
• Cross-platform application code
• Weird API
• Needs to deploy tons of things
Slide 16
Slide 16 text
“Let’s Build Everything”
• Kivy and Pyglet
• Cross-platform application code
• Nice Pythonic API
• Needs to deploy C binding
• Not native (and they don’t care)