Important: Please read the Qt Code of Conduct -

Dataflow programming GUI

  • Does Qt have any built in classes for building a gui based dataflow widget with modules that could be connected (input and output) by arrows or lines within the Graphics View Framework?

  • Nope. Will have to build the basic blocks with the GraphicsView Framework yourself. This is something so specific, they can't possibly include it built-in.

  • There is an example of building this sort of thing with QGraphicsView: see Diagram Scene Example

  • Thank you DerManu and ChrisW67.

    @ChrisW67: I have downloaded and looked over Diagram Scene example from QtCreator -> Demos. My question is how to convert this type of diagrammatic flow into a dataflow programming application? In other words, how could I assign functions to the objects(basic flowchart shapes) and make the lines/arrows connectors? The only open source project I have found with this capability is Unipro UGENE - QtProject "Workflow Designer". The code is just to difficult for me to interpret, so I was hoping to start with something much smaller and build from there.

    Thank you again for your replies. They are really a great help to us noobs.

  • I don't propose to design your entire project for you.

    Give the process blocks a function that implements their process using the inputs passed from upstream. Give the process blocks a way to receive and hold inputs passed from upstream. When the last required input becomes available to a process then fire the process. When the process completes pass its outputs downstream to connected process blocks.

  • I wrote something like this in a previous job, and that work was published as open source (GPL).

    ! RelationCalculator screenshot)!

    All the components are defined in plugins. If that suits you, you might have a "look": at it.

  • Thank you Andre. That's exactly the sort of thing I was looking for. I believe most of my questions will be answered in the code provided. But as always, I'm sure new ones will arise. Thank you again for the post and the open source project.

  • very helpful, thanks for share!

Log in to reply