开源 企业版 高校版 私有云 模力方舟 AI 队友
代码拉取完成,页面将自动刷新
捐赠
捐赠前请先登录
扫描微信二维码支付
取消
支付完成
支付提示
将跳转至支付宝完成支付
确定
取消
1 Star 0 Fork 0

JakeYang/nodeeditor

加入 Gitee
与超过 1400万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
已有帐号? 立即登录
master
分支 (10)
标签 (28)
master
v3
v2
custom-connections
qt5
nodeid
ci-test
static-lib
automated-tests
v1
3.0.11
3.0.10
3.0.9
3.0.8
3.0.7
3.0.6
3.0.5
3.0.4
3.0.3
3.0.2
3.0.1
3.0
2.2.4
2.2.3
2.2.2
2.2.1
2.2
2.2.0
2.1.3
bze-stage
克隆/下载
克隆/下载
提示
下载代码请复制以下命令到终端执行
为确保你提交的代码身份被 Gitee 正确识别,请执行以下命令完成配置
初次使用 SSH 协议进行代码克隆、推送等操作时,需按下述提示完成 SSH 配置
1 生成 RSA 密钥
2 获取 RSA 公钥内容,并配置到 SSH公钥
在 Gitee 上使用 SVN,请访问 使用指南
使用 HTTPS 协议时,命令行会出现如下账号密码验证步骤。基于安全考虑,Gitee 建议 配置并使用私人令牌 替代登录密码进行克隆、推送等操作
Username for 'https://gitee.com': userName
Password for 'https://userName@gitee.com': # 私人令牌
贡献代码
同步代码
对比差异 通过 Pull Request 同步
同步更新到分支
通过 Pull Request 同步
将会在向当前分支创建一个 Pull
Request,合入后将完成同步
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
BSD-3-Clause

QtNodes

Introduction

QtNodes is conceived as a general-purpose Qt-based library aimed at developing Node Editors for various applications. The library could be used for simple graph visualization and editing or extended further for using the modus operandi is possible.

Documentation

Branches

There are branchses v2 and v3 for versions 2.x.x and 3.x respectively. The branch master contains the latest dev state.

Data Flow Paradigm

The extended model class DataFlowGraphModel allows to register "processing algorithms" represented by nodes and is equipped with a set of Qt's signals and slots for propagating the data though the nodes.

The node's algorithm is triggered upon arriving of any new input data. The computed result is propagated to the output connections. Each new connection fetches available data and propagates is further. Each change in the source node is immediately propagated through all the connections updating the whole graph.

Supported Environments

Platforms

Dependencies

  • Qt >5.15
  • CMake 3.8
  • Catch2

Current State (v3)

  • Model-based graph
  • Headless mode You can create, populate, modify the derivative of AbstractGraphModel without adding it to the actual Flow Scene. The library is now designed to be general-purpose graph visualization and modification tool, without specialization on only data propagation.
  • Automatic data propagation built on top of the graph-model code The library could be used for both pure graph visualization purposes and for originally implemented data propagation.
  • Dynamic ports
  • Datatype-aware connections
  • Embedded Qt widgets
  • One-output to many-input connections
  • JSON-based interface styles
  • Saving scenes to JSON files
  • Custom Node Geometry
  • Vertical and Horizontal graph layouts
  • Undo/Redo, Duplication (CTRL+D)

Building

Set this option to false if you want to build with Qt5 version instead of Qt6:

USE_QT6

mkdir build && cd build && cmake .. -DUSE_QT6=on
or
mkdir build && cd build && cmake .. -DUSE_QT6=off

For building a static lib use:

cmake .. -BUILD_SHARED_LIBS=off

Linux

git clone git@github.com:paceholder/nodeeditor.git
cd nodeeditor
mkdir build
cd build
cmake ..
make -j && make install

Qt Creator

  1. Open CMakeLists.txt as project.
  2. If you don't have the Catch2 library installed, go to Build Settings, disable the checkbox BUILD_TESTING.
  3. Build -> Run CMake
  4. Build -> Build All
  5. Click the button Run

With Cmake using vcpkg

  1. Install vcpkg
  2. Add the following flag in configuration step of CMake
-DCMAKE_TOOLCHAIN_FILE=<vcpkg_dir>/scripts/buildsystems/scripts/buildsystems/vcpkg.cmake

Help Needed

  1. Python wrappring using PySide.
  2. QML frontend.
  3. Wirting a ClangFormat config.

Any suggestions are welcome!

Contribution

  1. Be polite, respectful and collaborative.
  2. For submitting a bug:
    1. Describe your environment (Qt version, compiler, OS etc)
    2. Describe steps to reproduce the issue
  3. For submitting a pull request:
    1. Create a proposal task first. We can come up with a better design together.
    2. Create a pull-request. If applicable, create a simple example for your problem, describe the changes in details, provide use cases.
  4. For submitting a development request:
    1. Describe your issue in details
    2. Provide some use cases.
  5. I maintain this probject in my free time, when I am not busy with my work or my family. If I do not react or do not answer for too long, please ping me.

Citing

Dmitry Pinaev et al, Qt Nodes, (2022), GitHub repository, https://github.com/paceholder/nodeeditor

BibTeX:

@misc{Pinaev2022,
 author = {Dmitry Pinaev et al},
 title = {QtNodes. Node Editor},
 year = {2017},
 publisher = {GitHub},
 journal = {GitHub repository},
 howpublished = {\url{https://github.com/paceholder/nodeeditor}},
 commit = {877ddb8c447a7a061a5022e9956a3194132e3dd9}
}

Support

If you like the project you could donate me on PayPal Thanks

The version 3 was released with a generous help of Showcase

Youtube videos

https://img.youtube.com/vi/i_pB-Y0hCYQ/0.jpg

CANdevStudio

Chigraph

Spkgen particle editor

/add358/nodeeditor

README
BSD-3-Clause
使用 BSD-3-Clause 开源许可协议
取消

发行版

暂无发行版

贡献者

全部

语言

近期动态

不能加载更多了
编辑仓库简介
简介内容
主页
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
C++
1
https://gitee.com/add358/nodeeditor.git
git@gitee.com:add358/nodeeditor.git
add358
nodeeditor
nodeeditor
master
点此查找更多帮助

搜索帮助

评论
仓库举报
回到顶部
登录提示
该操作需登录 Gitee 帐号,请先登录后再操作。
立即登录
没有帐号,去注册

AltStyle によって変換されたページ (->オリジナル) /