Node editor for PyQt5
Project description
QNodeEditor
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 |
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'
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
Built Distribution
Hashes for QNodeEditor-1.0.6-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 86df95dee47d7f87db63ab10da6c773214432c2dce146e6ff2ee7d55044d63e8 |
|
MD5 | c658e94761b8bbd216e8206c0726fb95 |
|
BLAKE2b-256 | 0dc8753b15ce4a9f621895d3bad84712739f7d4d20fb39fbd1d573edd22ed5c3 |