Pytanie : rysunkowy prętowy mapa

I potrzebować prętowy mapa na niektóre różny długość bar który ratować w szyk, I mieć próba pisanie ten kod ale wszystkie bar przychodzić z ten sam długość I myśleć I mieć problem w pętla ale I lnow jak móc I ono
include ten pytanie the funkcja kod i the zdjęcie aktualny rezultat. Także, być tam  wchodni sposób x i y oś.

many dziękować
(1):
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
void linia:: paintEvent (QPaintEvent *c)
{
    //lines
    QPainter linia (to);
    line.setRenderHint (QPainter:: Antialiasing, true);
    line.setPen (QPen (Qt:: czerń, 2, Qt:: SolidLine, Qt:: RoundCap, Qt:: MiterJoin));
    line.setBrush (QBrush (Qt:: czerń, Qt:: SolidPattern));
    line.drawLine (50,50,50,200); // Y oś
    line.drawLine (50,200,250,200);  // x oś





    // prostokąt
    int a [5] = {20,60,120,30,200};    //length = a []
    int x= 50.0;
    int y= 200;

    dla (int i=0; i<5; i++)
    {
        int inc = 200/5;
        dla (int j=0; j<200; j=j+inc)
        {

            QRectF rect ((x+j), (y-a [i]), 0.0, a [i]);
            line.setPen (QPen (Qt:: zieleń, 8, Qt:: SolidLine, Qt:: RoundCap, Qt:: MiterJoin));
           line.drawRect (rect);

        }
    }

}

Odpowiedź : rysunkowy prętowy mapa

Najpierw ty potrzebować dwa pętla.  Twój prostokąt musieć definiować:

Lewica:       (i * inc) + x
Wierzchołek:       y - a [i]
dobro:      Lewica + kreskowy szerokość
Dno: Y

W Ten Sposób, dostawać pozbywać się the wewnętrzny pętla zupełnie…  The kod I wysyłać musieć ty pomysł musieć potrzebować.  I nigdy robić QT programowanie.  Pozwalać jeżeli ty potrzebować więcej wyjaśnienie.
(1):
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
void linia:: paintEvent (QPaintEvent *c)
{
    //lines
    QPainter linia (to);
    line.setRenderHint (QPainter:: Antialiasing, true);
    line.setPen (QPen (Qt:: czerń, 2, Qt:: SolidLine, Qt:: RoundCap, Qt:: MiterJoin));
    line.setBrush (QBrush (Qt:: czerń, Qt:: SolidPattern));
    line.drawLine (50,50,50,200); // Y oś
    line.drawLine (50,200,250,200);  // x oś

    // prostokąt
    int a [5] = {20,60,120,30,200};    //length = a []
    int x= 50.0  ;
    int y= 200;
    int inc = 200/5;

    dla (int i=0; i<5>
           
Inne rozwiązania  
 
programming4us programming4us