Creating a multi purpose node editor, if there is none available
-
I am looking for an easy way to have my lab workers to process data from our experiments. I did choose QT as main framework, since we have equal number of OSX and Win machines at the lab, so this makes things easier.
Now, since I am one of the 2 developers in the lab (I do work as researcher but I know also how to program a bit), I am trying to make something simple to handle for our lab technicians and researchers, which has basic computer skills. I did choose to use a node based editor to have them line up blocks, so I can then convert these in experiments and have everything set up in our computers; although I did not find anything ready to use.
I am willing to write my own implementation of a basic node based interface, in which case I would appreciate any sort of pointer and help about where to start...but if there is something already written that I can leverage upon, I would take it with joy.
Thanks in advance!
-
Hi
Im not sure what the term "Node editor" covers here
but what about
http://doc.qt.io/qt-5/qtwidgets-graphicsview-diagramscene-example.html
for a starting point. -
Thanks a lot! This is a great start to grasp how thing works in Qt graphic libraries.
It is similar to what I had in mind; Now I need to figure out if there is a way to make it more similar to what you see in a 3D program like Blender or Maya for example; where you have input and output and you connect them via lines.
To give an idea of an experiment, imagine this
CompoundA get mixed in SolutionA; the output processed in a spectrometer, then you add a ReagentA, which get tested again in the spectrometer. Once done, you separate by centrifuge the ReagentA and the mixture; then try ReagentB and so on
As you can see it is important to know what goes in and what goes out; which is why I took these node editors for 3d shaders as example for what I want to obtain, since they are clear, straightforward and can't really mess up anything when you have a node for each compound, reagent and solution; on top of the machinery that does the various operations.
-
it share data i think...
https://www.youtube.com/watch?v=pxMXjSvlOFw
https://github.com/paceholder/nodeeditor -
@mrjj said in Creating a multi purpose node editor, if there is none available:
@joejoo
Hi
It seems to be a Cmake project so you need to install that and then build the app using
the project file provided.
Its called a "General-purpose Qt-based library" so it might create a lib to use.Thanks a lot for the hints!
So I did install cmake; in my program folder (I use W10); while QT is in the root of my C drive.
After installation I can see that running cmake using the Windows power shell is working, so I assume it did set the environment variable correctly.
I did open the source folder and ran cmake in it; although I get this error:
CMake Error at C:/Qt/5.9.1/msvc2017_64/lib/cmake/Qt5Core/Qt5CoreMacros.cmake:63 (file): file attempted to create a directory: C:/Users/labdev/Desktop/nodeeditor-master/resources into a source directory.
From my understanding, it is trying to create a dir but it fail? I did run powershell as administrator, so I am not sure why it is getting this error. Should I make changes to the CMakeList file? Just shooting in the dark here
-
Hi,
Can you show what you did before building your project ?
Usually building cmake projects starts by creating a build folder either at the root of the project sources or beside it, then go into it and call
cmake ..
if you are still in project sources orcmake ../myprojectname
if you put the build folder beside it. -
Hi,
I did get the zip file from the repo, unzipped in my download folder and then created a build folder in it.
Then I did open powershell as admin, did cd into the build folder and then ran
cmake ..
I did try also to runcmake .
in the root of the project folder but I get the same error as printed above. -
Just built it on macOS. without any problem...
Which version of cmake are you using ?
-
What shell are you starting when you want to compile the application ?
-
@joejoo
Hi
Powershell sound wrong to me. Normally visual studio have a developer cmd prompt link that
set all the environment variables etc. (not tried 2017)https://docs.microsoft.com/en-us/dotnet/framework/tools/developer-command-prompt-for-vs
did they make it a powershell thing in 2017 ?
-
@mrjj said in Creating a multi purpose node editor, if there is none available:
@joejoo
Hi
Powershell sound wrong to me. Normally visual studio have a developer cmd prompt link that
set all the environment variables etc. (not tried 2017)https://docs.microsoft.com/en-us/dotnet/framework/tools/developer-command-prompt-for-vs
did they make it a powershell thing in 2017 ?
Well, I don't even get to the point where VS is in the picture; I am running Cmake; to create the VS files that I will open in that environment. Instead I get nothing because cmake error out saying that it can't create a folder.
On windows I know no other shell, beside powershell. I use that also to build and run VS project if I don't need the IDE launched.
At this point I shall try with OSX; since there it seems to build without problems, and see if there is any difference. -
@mrjj said in Creating a multi purpose node editor, if there is none available:
@joejoo
Its a bit odd.
Just downloaded , unpacked and build it with vs2015
with
cmake .. -DCMAKE_PREFIX_PATH="C:\Qt\5.7\msvc2015\lib\cmake\Qt5"
No issues what so ever.
I see, you are using a different command prompt, I never ever heard of that; but it is installed with VS somehow.
I did build with the same string you used (I have a different QT version though, but it is building!
Now I did run the solution and I get a build error because I am building in X64 instead of x86, trying to change the project configuration. In the worst case I have to re-install QT since I have only X64 folder installed; I didn't think that I may need the x86, but if this project require it, then I have to install and build using that version.
-
Finally I was successful in building the solution!
The trick was that I needed the VS2017 QT install that support x86, once used that for DCMAKE_PREFIX_PATH it did build the solution and VS2017 was happy to build all the various examples and items in the solution.
Now the problem is that each exe is complaing because
QT5Widgets.dll
cannot be found. I thought that cmake and VS would be able to find all the required DLL; do I need to import something before build the solution, or do I have to set some global variables?Sorry for the hassle; but the QT environment, when you work outside QT designer is quite daunting for a beginner.
-
@joejoo said in Creating a multi purpose node editor, if there is none available:
exe is complaing because QT5Widgets.dll
Hi
That is normal.
You need to make a deployment folder for it with the needed dlls.http://www.tripleboot.org/?p=138
note there is the windeploy tool to help
-
cmake file is easy to read
https://github.com/paceholder/nodeeditor/blob/master/CMakeLists.txttake all source from https://github.com/paceholder/nodeeditor
remove example folder move in other dir …
target_link_libraries(nodes
Qt5::Core
Qt5::Widgets
Qt5::Gui
Qt5::OpenGL)at top dir one console
qmake -project after you have a pro filefill pro file Qt5::Core Qt5::Widgets Qt5::Gui Qt5::OpenGL as module frameworks
template static libstake example set pro file to static lib and dir…
and you build one sample…