<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[QtNodeEditor library data transfer problem]]></title><description><![CDATA[<p dir="auto">Hello, I would like to use <a href="https://github.com/paceholder/nodeeditor" target="_blank" rel="noopener noreferrer nofollow ugc">QtNodeEditor </a> library . I setup the system. Classes, functions, signals and slots. Everything is working. I can transfer data node to node.</p>
<p dir="auto">There is a problem. Firstly, I want to tell my steps.</p>
<p dir="auto">1  - take data from tcp server<br />
2 - transfer data with signal-slot to node<br />
3 - push data to connected nodes.<br />
4 - nodes calculate data<br />
5 - nodes update ui</p>
<p dir="auto"><img src="https://ddgobkiprc33d.cloudfront.net/1b51b43d-d928-4771-ae35-1a93f2325025.png" alt="6f85f1fc-321e-48e3-9ba5-b172a7e87c34-image.png" class=" img-fluid img-markdown" /></p>
<p dir="auto">Step 3 is use emit for push data connected nodes and every node step by step calculating. I should not to use this way because, if my connected node size increase, total time increase.</p>
<p dir="auto">If I do not use nodes and directly push data to obj which is comminicated with node, Time is ok, slow but ok, better then node push system.</p>
<pre><code>    QtConcurrent::blockingMap(list, [&amp;data](MyObj*pc) {
        pc-&gt;compute(data);
    });
    for (MyObj*pc : list)
        pc-&gt;render(); // render must be in main thread

// or

    QThreadPool *pool = QThreadPool::globalInstance();
    for (MyObj*pc : list){
        MyObjJob *job = new MyObjJob ;
        job-&gt;pc = pc;
        job-&gt;data = &amp;data;

        job-&gt;setAutoDelete(true);

        pool-&gt;start(job);
    }
    pool-&gt;waitForDone();

    for (MyObj*pc : list)
        pc-&gt;render();
</code></pre>
<p dir="auto">Parallel computing is solituon.</p>
<p dir="auto">I want to ask, There is a someone worked or still work with  <a href="https://github.com/paceholder/nodeeditor" target="_blank" rel="noopener noreferrer nofollow ugc">QtNodeEditor </a> library and help me ?</p>
]]></description><link>https://forum.qt.io/topic/164439/qtnodeeditor-library-data-transfer-problem</link><generator>RSS for Node</generator><lastBuildDate>Sun, 26 Apr 2026 09:48:31 GMT</lastBuildDate><atom:link href="https://forum.qt.io/topic/164439.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 16 Mar 2026 10:51:25 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to QtNodeEditor library data transfer problem on Wed, 18 Mar 2026 19:47:18 GMT]]></title><description><![CDATA[<p dir="auto">There's quite a lot of libraries using Qt and one of the pitfall is that even if there's Qt in the name it does not make them an official Qt module nor a supported Qt library.<br />
However, it is still valid to ask questions about them here as there might be a chance that one, or more, forum members might have experience with it.</p>
]]></description><link>https://forum.qt.io/post/837169</link><guid isPermaLink="true">https://forum.qt.io/post/837169</guid><dc:creator><![CDATA[SGaist]]></dc:creator><pubDate>Wed, 18 Mar 2026 19:47:18 GMT</pubDate></item><item><title><![CDATA[Reply to QtNodeEditor library data transfer problem on Wed, 18 Mar 2026 05:18:06 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/sgaist">@<bdi>SGaist</bdi></a> said in <a href="/post/837161">QtNodeEditor library data transfer problem</a>:</p>
<blockquote>
<p dir="auto">never heard of it before you mentioned it so it might also be the case of other current active forum contributors.</p>
</blockquote>
<p dir="auto">Thank you for your advice, I use lots of library with Qt and, sometimes I do not know what I will do</p>
]]></description><link>https://forum.qt.io/post/837164</link><guid isPermaLink="true">https://forum.qt.io/post/837164</guid><dc:creator><![CDATA[Joe von Habsburg]]></dc:creator><pubDate>Wed, 18 Mar 2026 05:18:06 GMT</pubDate></item><item><title><![CDATA[Reply to QtNodeEditor library data transfer problem on Tue, 17 Mar 2026 23:02:03 GMT]]></title><description><![CDATA[<p dir="auto">Hi,</p>
<p dir="auto">You should try to contact the library's author(s).</p>
<p dir="auto">I never heard of it before you mentioned it so it might also be the case of other current active forum contributors.</p>
]]></description><link>https://forum.qt.io/post/837161</link><guid isPermaLink="true">https://forum.qt.io/post/837161</guid><dc:creator><![CDATA[SGaist]]></dc:creator><pubDate>Tue, 17 Mar 2026 23:02:03 GMT</pubDate></item><item><title><![CDATA[Reply to QtNodeEditor library data transfer problem on Tue, 17 Mar 2026 09:43:38 GMT]]></title><description><![CDATA[<p dir="auto">I did like that  but I could not be sure is it right ?</p>
<pre><code>// Original
void MyNode::onSendData(const QVector&lt;float&gt; &amp;data)
{
    _data= std::make_shared&lt;Data&gt;();
    _data-&gt;data= data;

    emit dataUpdated(0); // Step by step for each connection
}

// My Edit
void MyNode::onSendData(const QVector&lt;float&gt; &amp;data, std::shared_ptr&lt;AppGraphModel&gt; &amp;graphModel, QtNodes::NodeId &amp;id)
{
    _data= std::make_shared&lt;Data&gt;();
    _data-&gt;data= data;

    auto conns = graphModel-&gt;connections(id, QtNodes::PortType::Out, 0);
    QList&lt;QtNodes::ConnectionId&gt; connList(conns.begin(), conns.end());

    QtConcurrent::map(connList, [&amp;](const QtNodes::ConnectionId &amp;conn) {
        auto *node = graphModel-&gt;delegateModel&lt;QtNodes::NodeDelegateModel&gt;(conn.inNodeId);
        if (node)
            node-&gt;setInData(_data, conn.inPortIndex);
    }).waitForFinished();
}
</code></pre>
<p dir="auto">Does nobody use QtNodeEditor lib ?</p>
]]></description><link>https://forum.qt.io/post/837147</link><guid isPermaLink="true">https://forum.qt.io/post/837147</guid><dc:creator><![CDATA[Joe von Habsburg]]></dc:creator><pubDate>Tue, 17 Mar 2026 09:43:38 GMT</pubDate></item></channel></rss>