Je vous explique mon problème
J'ai un QScrollArea qui contient un QWidget qui représente un graphe
Donc au moment du chargement du fichier, on ajoute des arcs (QPushButton) et des nœuds (QWidget). Pour ca aucun problème
Ensuite, on peut rajouter un arc entre un nœud, et un noeud qui peut être situé au dessus.
Donc la méthode normale :
On clique sur on noeud. A ce moment la, un paramètre selected change pour le noeud, je rappelle son paintEvent, et il est dessiné différemment (entouré de vert).
Quand un noeud a été cliqué, tous les arcs possibles sont affichés à l'écran. On rajoute des AddableEdge, qui sont des QWidget aussi.
Hors d'un scrollArea cela marche sans problème
Par contre, une fois que l'on est dans un QScrollarea, si le viewport() ne contient pas le haut du graph, les arcs ne sont pas affichés, et je dois remonter complètement le qscrollarea pour que ce soit visible
Apparemment ca ne serait pas un problème de painter(wiewport()) car je ne dessine pas directement dans le qscrollarea.
Je précise aussi que lorsqu'on ajoute tous les AddableEdge, le plus grand arc remonte jusqu'en haut du scroll, peut être une piste...
Je mets pas de code parce qu'il est long et dégueulasse :/
Merci d'avance !
Partager