All Projects → jchanvfx → Nodegraphqt

jchanvfx / Nodegraphqt

Licence: mit
Node graph framework that can be re-implemented into applications that supports PySide2

Programming Languages

python
139335 projects - #7 most used programming language

Labels

Projects that are alternatives of or similar to Nodegraphqt

Scenegraph
PySide scene graph UI framework.
Stars: ✭ 118 (-70.57%)
Mutual labels:  pyside
material
Material Design Widgets for PySide and PyQt4
Stars: ✭ 66 (-83.54%)
Mutual labels:  pyside
idasix
IDAPython compatibility library. idasix aims to create a smooth ida development process and allow a single codebase to function with multiple IDA/IDAPython versions
Stars: ✭ 24 (-94.01%)
Mutual labels:  pyside
Jarvis
"Just Another ReVersIng Suite" or whatever other bullshit you can think of
Stars: ✭ 137 (-65.84%)
Mutual labels:  pyside
Hazama
simple cross-platform diary app
Stars: ✭ 24 (-94.01%)
Mutual labels:  pyside
DesignSPHysics
Module for FreeCAD intended to use with DualSPHysics fluid simulator.
Stars: ✭ 65 (-83.79%)
Mutual labels:  pyside
Upyide
Micropython IDE
Stars: ✭ 57 (-85.79%)
Mutual labels:  pyside
Pyqt
PyQt Examples(PyQt各种测试和例子) PyQt4 PyQt5
Stars: ✭ 3,783 (+843.39%)
Mutual labels:  pyside
QtPyConvert
An automatic Python Qt binding transpiler to the Qt.py abstraction layer.
Stars: ✭ 66 (-83.54%)
Mutual labels:  pyside
PyQtDarkTheme
A flat dark theme for PySide and PyQt.
Stars: ✭ 50 (-87.53%)
Mutual labels:  pyside
Qdarkstylesheet
A dark style sheet for QtWidgets application
Stars: ✭ 1,952 (+386.78%)
Mutual labels:  pyside
AnimationDNA
Maya > Arnold > Nuke pipeline
Stars: ✭ 101 (-74.81%)
Mutual labels:  pyside
Python-MongoDB-Example
A Live working Example Application of Python, Qt, PySide2, MongoDB, PyMongo, QTreeView, QAbstractTableModel
Stars: ✭ 41 (-89.78%)
Mutual labels:  pyside
Pyvfx Boilerplate
A boilerplate for creating PySide/PyQt or PySide2/PyQt5 applications running inside of Maya, Nuke and standalone - using Python 2 or 3.
Stars: ✭ 131 (-67.33%)
Mutual labels:  pyside
KoHighlights
KOHighlights is a utility for viewing KOReader's highlights and/or export them to simple text, csv or html files.
Stars: ✭ 62 (-84.54%)
Mutual labels:  pyside
Pyflowgraph
Python Module for displaying flowgraphs using Pyside or PyQt.
Stars: ✭ 61 (-84.79%)
Mutual labels:  pyside
MPowerTCX
Share stationary bike data with Strava, Garmin Connect and Golden Cheetah
Stars: ✭ 22 (-94.51%)
Mutual labels:  pyside
Qt Python Binding Examples
Lots of simple and Pythonic PySide demos
Stars: ✭ 312 (-22.19%)
Mutual labels:  pyside
TACTIC-Handler
PySide based TACTIC client for maya, nuke, 3dsmax, houdini, etc
Stars: ✭ 67 (-83.29%)
Mutual labels:  pyside
pyside2
Placeholder repository for the Gitter chat room
Stars: ✭ 16 (-96.01%)
Mutual labels:  pyside

NodeGraphQt

License: MIT python 3.7+ PEP8 stability-wip

(Note: this project is a work in progress and not production ready.)


NodeGraphQt is a node graph framework that can be implemented and re purposed into applications that supports PySide2.

Documentation

NodeGraphQt Documentation

Navigation

action controls
Zoom in/out Alt + MMB Drag or Mouse Scroll Up/Down
Pan Alt + LMB Drag or MMB Drag
Node search Tab

Slice Connections

action controls
Slice Connections Shift + Alt + LMB Drag

Properties Bin

Vertical Layout

Pipe Layout

Example

import sys

from NodeGraphQt import QtWidgets
from NodeGraphQt import NodeGraph, BaseNode, BackdropNode, setup_context_menu

# create a example node object with a input/output port.
class MyNode(BaseNode):
    """example test node."""

    # unique node identifier domain. ("com.chantasticvfx.MyNode")
    __identifier__ = 'com.chantasticvfx'

    # initial default node name.
    NODE_NAME = 'My Node'

    def __init__(self):
        super(MyNode, self).__init__()
        self.add_input('foo', color=(180, 80, 0))
        self.add_output('bar')


if __name__ == '__main__':
    app = QtWidgets.QApplication(sys.argv)

    # create the node graph controller.
    graph = NodeGraph()
    
    # set up default menu and commands.
    setup_context_menu(graph)
   
    # register backdrop node. (included in the NodeGraphQt module)
    graph.register_node(BackdropNode)
   
    # register example node into the node graph.
    graph.register_node(MyNode)
   
    # create nodes.
    backdrop = graph.create_node('nodeGraphQt.nodes.Backdrop', name='Backdrop')
    node_a = graph.create_node('com.chantasticvfx.MyNode', name='Node A')
    node_b = graph.create_node('com.chantasticvfx.MyNode', name='Node B', color='#5b162f')
    
    # connect node a input to node b output.
    node_a.set_input(0, node_b.output(0))    

    # get the widget and show.
    graph_widget = graph.widget
    graph_widget.show()

    app.exec_()
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].