Bonjour, Je dessine un rectangle dont la longueur peut varier dans une grille.Mon rectangle ne peut contenir que dans la grille, si la longueur depasse alors le reste est dessiner sur la ligne suivante comme dans le figure 1.
Mon probléme j'arrive pas à le faire avec QRect.operator |= (QRect) , figure 2, car il me dessine le rectangle englobant alors que c'est pas ce que je veux.
Voici ma fonction qui dessine le rectangle :
il englobe les 2 lignes sur lesquelles les rects sont contenus, alors j'aimerais avoir uniquement les rects associés les uns apres les autres sur les lignes sans toucher à la hauteur.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 void Appli::DrawRect(QPainter *painter, CDrawr* pFixture) { QRect rect1 = GetRectItem(CDrawr->m_address - 1); QRect rect2; for(int iChan = CDrawr->m_address + 1; iChan <= CDrawr->m_endAddress; iChan++) { rect2 = QRect(GetRectItem(iChan)); rect1.operator |=(rect2); } painter->fillRect(rect1, Qt::darkGray); }
Merci de votre help!
Partager