Skip to main content

Node editor for PyQt5

Project description

QNodeEditor

pylint Github badge PyPi badge readthedocs badge readthedocs badge 2

QNodeEditor is a collection of widgets that enables you to easily create and use a node editing environment in PyQt5.

Example node scene being edited
Example node scene being edited
drawing
QNodeEditor supports flexible themes

Installing

Install the package using the following command:

pip install QNodeEditor

Requirements

The QNodeEditor package requires the following packages:

Usage

For a full guide on how to use QNodeEditor, check out the Documentation. Here you can find tips on how to get started, as well as the API documentation for QNodeEditor.

Example

Below is some sample code for creating a node that performs an addition of two values.

from QNodeEditor import Node

class AddNode(Node):
    code = 0  # Unique code for each node type
    
    def create(self):
        self.title = 'Addition'  # Set the node title
        
        self.add_label_output('Output')  # Add output socket
        self.add_value_input('Value 1')  # Add input socket for first value
        self.add_value_input('Value 2')  # Add input socket for second value
        
    def evaluate(self, values: dict):
        result = values['Value 1'] + values['Value 2']  # Add 'Value 1' and 'Value 2'
        self.set_output_value('Output', result)         # Set as value for 'Output'
Example node

This node can now be used in a scene. When it is evaluated, it will take Value 1 and Value 2, add them, and set it as the value of Output.

This is a simple node, but the package is flexible. You can place any widgets inside the node, and define the logic as you wish. You can also attach to signals emitted by the scene, such as when two nodes are connected together.

A node scene evaluates the scene asynchronously, meaning the interface will not freeze while a calculation is performed. If an error occurs, it is signalled, and you can handle it as you want.

License

This package uses the MIT License (see the LICENSE file).

The package is inspired by the pyqt-node-editor (MIT license) package by Pavel Křupala.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

qnodeeditor-1.0.6.tar.gz (2.9 MB view details)

Uploaded Source

Built Distribution

QNodeEditor-1.0.6-py3-none-any.whl (2.9 MB view details)

Uploaded Python 3

File details

Details for the file qnodeeditor-1.0.6.tar.gz.

File metadata

  • Download URL: qnodeeditor-1.0.6.tar.gz
  • Upload date:
  • Size: 2.9 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.0

File hashes

Hashes for qnodeeditor-1.0.6.tar.gz
Algorithm Hash digest
SHA256 7c43d1dfefa86c8300cf29fa53e416df7685997709c2f5159c7222204500eb52
MD5 897970d4d110387cb39d48b178870d81
BLAKE2b-256 1b2d889132b993f6157e8700d88a301bc60c5fbb453316ec667ad0b18d6133af

See more details on using hashes here.

File details

Details for the file QNodeEditor-1.0.6-py3-none-any.whl.

File metadata

  • Download URL: QNodeEditor-1.0.6-py3-none-any.whl
  • Upload date:
  • Size: 2.9 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.0

File hashes

Hashes for QNodeEditor-1.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 86df95dee47d7f87db63ab10da6c773214432c2dce146e6ff2ee7d55044d63e8
MD5 c658e94761b8bbd216e8206c0726fb95
BLAKE2b-256 0dc8753b15ce4a9f621895d3bad84712739f7d4d20fb39fbd1d573edd22ed5c3

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page