Node Editor in Python Tutorial Series
When I was working on my rendering engine and some tools for gamedev and VFX in 2017, I've decided to create tutorials about making tools and publish them on YouTube. I was using Python and PyQt5 heavily and had an interesting idea of creating some foundation for node editor tool. Maybe even in future to create material node editor for generating glsl shaders? #toomuchwork #toolittletime ...
Anyways, I think it can be really beneficial for bunch of people out there, who are struggling with raising their programming skills to a bit higher level. Therefore we will have a look at common intermediate programmer tasks like serialization, refactoring, maintaining library and architecture.
About the series
This series focuses on creating your own Node Editor using PyQt5 in Python. We will start pretty straightforward by slowly getting the main features like background, nodes, edges and sockets. From that, we will slowly get to more intermediate topics like serialization for saving and loading, undo & redo. Also some time we will spend on bugfixing, debugging and ways how to test our code. Our code will end up refactored into a python package so we can use our code for multiple projects and examples. Node Editor tutorial series will finish with implementation of a simple calculator as a proof of concept that our package is written with solid and reusable architecture.
- 00 - Prerequisities: How to setup PyCharm
- 01 - Creating View, Scene, Grid Background
- 02 - Adding Items to GraphicsView
- 03 - Scene Navigation, Zooming
- 04 - Architecture planning, Scene Implementation
- 05 - Implementing Node
- 06 - Node Content, Styles
- 07 - Sockets
- 08 - Edges
- 09 - Positioning Edges, Debugging
- 10 - Finishing Edges, Socket Variation
- 11 - Dragging Edge
- 12 - Finishing Dragging Edge
- 13 - Selecting Items
- 14 - Deleting Items
- 15 - Cutting Edges
- 16 - Serialization, Saving Scene
- 17 - Deserialization, Loading Scene
- 18 - Undo & Redo #1 Introduction
- 19 - Undo & Redo #2 History Stack
- 20 - Undo & Redo #3 History Stamps
- 21 - Node Editor Window
- 22 - Clipboard Code Blockout
- 23 - Clipboard Serialization
- 24 - Bugfixing Crashes, Missing Edge
- 25 - File Has Changed Dialog
- 26 - Socket with Multiple Edges
- 27 - Setting up Package, Tests & Documentation
- 28 - Calculator Example: Introduction
- 29 - Calculator Example: Refactoring Window, Actions, Menus
- 30 - Calculator Example: Creating MDI SubWindow
- 31 - Calculator Example: Refactoring Styles + Bonus: Dark Skin
- 32 - Calculator Example: Refactoring Open, Save, Save As
All of the links to code and other stuff will be in description for each video. I'll try my best to publish videos one by one as soon as possible, so if you want to be notified about the new ones, subscribe to my youtube channel. If you get stuck or miss something I didn't explain properly, leave a comment. I'll try to reply to the comments on youtube as soon as possible.
You can also check FAQ for the tutorial series here.