pyQt5 port of ALGOholic's QNodesEditor