Questione : diagramma a colonna dell'illustrazione

Devo rendere il diagramma a colonna basato su una certa lunghezza differente delle barre che hanno risparmiato nell'allineamento, io ho prova al decreto questo codice ma tutte le barre vengono con la stessa lunghezza penso che abbia problema nei cicli ma non faccio lnow come posso risolverlo
include questo problema il codice di funzione e la fotografia istantanea del risultato attuale. Inoltre, è ci modo semplice di disegnare l'asse di y e di x. il

many ringrazia
class= > " libero " del
> " del codeSnippet " del class= del
class= " lineNumbers " del
class= del
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:
linea notpretty del >void " del class= " " di codeSnippet785099 del id= del
           
class= " lastRow del
>Attachments " di nome " del class= del class= " valore " del
il

il nome di schedario " del class= di >Screen-shot-2010-07-07-at-12.53. .png " fileSize " > (19 Kb) il Javascript " del href= " " dei attachmentDetails del class= di (tipo di lima particolari)
class= " descrizione " >snapshot
del
" di http://filedb.experts-exchange.com/incoming/2010/07_w28/t323849/Screen-shot-2010-07-07-at-12.53..png„ “dello src=
il class= di
del >
class= del

Risposta : diagramma a colonna dell'illustrazione

In primo luogo non avete bisogno di due cicli.  Il vostro rettangolo dovrebbe essere definito come:

Parte di sinistra:       (i * inc) + x
Parte superiore:       y - a [i]
destra:      Parte di sinistra + linea larghezza
Parte inferiore: Y

Così, liberar del ciclo interno interamente…  Il codice che ho inviato dovrebbe dargli un'idea di che cosa è necessario.  Non ho fatto mai la programmazione di quarto.  Lasciarlo sapere se avete bisogno di più spiegazione.
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
svuotare la linea:: paintEvent (QPaintEvent C)
{
    //lines
    Linea di QPainter (questa);
    line.setRenderHint (QPainter:: Il Antialiasing, allinea);
    line.setPen (QPen (quarto:: il nero, 2, quarto:: SolidLine, quarto:: RoundCap, quarto:: MiterJoin));
    line.setBrush (QBrush (quarto:: il nero, quarto:: SolidPattern));
    line.drawLine (50.50.50.200); Asse di // Y
    line.drawLine (50.200.250.200);  asse di // x

    rettangolo di //
    int a [5] = {20.60.120.30.200};    //length = a []
    x= 50.0 di int  ;
    y= 200 di int;
    int inc = 200/5;

    per (int i=0; i<5>
           
Altre soluzioni  
 
programming4us programming4us