#include "slupkowy.h"
{
}
{
narysujWykres();
p.
setPen(QPen(Qt
::red,
1));
p.drawRect(rect().adjusted(0, 0, -1, -1));
}
{
}
void WykresSlupkowy
::ustawNazwePliku(QString nazwa
) {
nazwaPlikuDanych = nazwa;
}
void WykresSlupkowy::odczytajDane()
{
QFile plikDanych
(nazwaPlikuDanych
);
bool ok;
int nrDanej = 0;
if (plikDanych.
open(QFile::ReadOnly)) {
while ( !in.atEnd() )
{
line=in.readLine();
out << line << " ";
dane[nrDanej]=line.toInt(&ok,10);
nrDanej++;
}
}
}
void WykresSlupkowy::rysujOsie()
{
int side = qMin(width(), height());
int wykresX, wykresY;
painter.
setRenderHint(QPainter::Antialiasing);
//painter.scale(256.0, side / 256.0);
painter.
setPen(QColor("#000000"));
painter.
setBrush(QColor("#000000"));
//os X
wykresX=20;
for(int i=0; i<24; i++)
{
painter.
drawLine(QPoint(wykresX
+(i
*9),
149),
QPoint(wykresX
+(i
*9),
153));
}
//os Y
wykresY=151;
for(int i=1; i<15; i++)
{
painter.
drawLine(QPoint(12,wykresY
-(i
*10)),
QPoint(16,wykresY
-(i
*10)));
}
//groty strzalek
};
painter.drawPolygon(strzalka, 3);
painter.drawPolygon(strzalka, 3);
//liczby na osiach
QFont serifFont
( "Times",
4);
painter.setFont(serifFont);
for(int i=1; i<15; i++)
{
painter.
drawText(0,
154-(i
*10),
QString::number(i
*10));
}
for(int i=1; i<25; i++)
{
painter.
drawText(18+((i
-1)*9),
165,
QString::number(i
));
}
}
void WykresSlupkowy::narysujWykres()
{
int side = qMin(width(), height());
out << side ;
for(int i=0; i<24; i++)
{
dane[i]=i+30+(i*2);
}
painter.
setRenderHint(QPainter::Antialiasing);
//painter.scale(side / 256.0, side / 256.0);
painter.
setPen(QColor("#ffffff"));
painter.
setBrush(QColor("#ff0000"));
painter.setBrush(Qt::SolidPattern);
int wykresX=15;;
for(int i=0; i<24; i++)
{
painter.
setBrush(QColor(255,
0,
0));
wykresX+=9;
}
rysujOsie();
}
#include "slupkowy.h"
WykresSlupkowy::WykresSlupkowy(QWidget *parent) : QWidget(parent)
{
}
void WykresSlupkowy::paintEvent(QPaintEvent *event)
{
narysujWykres();
QWidget::paintEvent(event);
QPainter p(this);
p.setPen(QPen(Qt::red, 1));
p.drawRect(rect().adjusted(0, 0, -1, -1));
}
void WykresSlupkowy::resizeEvent(QResizeEvent *event)
{
QWidget::resizeEvent(event);
}
void WykresSlupkowy::ustawNazwePliku(QString nazwa)
{
nazwaPlikuDanych = nazwa;
}
void WykresSlupkowy::odczytajDane()
{
QFile plikDanych(nazwaPlikuDanych);
QString line;
bool ok;
int nrDanej = 0;
if (plikDanych.open(QFile::ReadOnly))
{
QTextStream in(&plikDanych);
QTextStream out(stdout);
while ( !in.atEnd() )
{
line=in.readLine();
out << line << " ";
dane[nrDanej]=line.toInt(&ok,10);
nrDanej++;
}
}
}
void WykresSlupkowy::rysujOsie()
{
int side = qMin(width(), height());
int wykresX, wykresY;
QPainter painter(this);
painter.setRenderHint(QPainter::Antialiasing);
//painter.scale(256.0, side / 256.0);
painter.setPen(QColor("#000000"));
painter.setBrush(QColor("#000000"));
//os X
painter.drawLine(QPoint(14,151),QPoint(234,151));
wykresX=20;
for(int i=0; i<24; i++)
{
painter.drawLine(QPoint(wykresX+(i*9),149),QPoint(wykresX+(i*9),153));
}
//os Y
painter.drawLine(QPoint(14,151),QPoint(14,0));
wykresY=151;
for(int i=1; i<15; i++)
{
painter.drawLine(QPoint(12,wykresY-(i*10)),QPoint(16,wykresY-(i*10)));
}
//groty strzalek
QPoint strzalka[3] = {
QPoint(14,0),
QPoint(12,5),
QPoint(16,5)
};
painter.drawPolygon(strzalka, 3);
strzalka[0]=QPoint(234,151);
strzalka[1]=QPoint(229,149);
strzalka[2]=QPoint(229,153);
painter.drawPolygon(strzalka, 3);
//liczby na osiach
QFont serifFont( "Times", 4);
painter.setFont(serifFont);
for(int i=1; i<15; i++)
{
painter.drawText(0,154-(i*10),QString::number(i*10));
}
for(int i=1; i<25; i++)
{
painter.drawText(18+((i-1)*9),165,QString::number(i));
}
}
void WykresSlupkowy::narysujWykres()
{
int side = qMin(width(), height());
QTextStream out(stdout);
out << side ;
for(int i=0; i<24; i++)
{
dane[i]=i+30+(i*2);
}
QPainter painter(this);
painter.setRenderHint(QPainter::Antialiasing);
//painter.scale(side / 256.0, side / 256.0);
painter.setPen(QColor("#ffffff"));
painter.setBrush(QColor("#ff0000"));
painter.setBrush(Qt::SolidPattern);
int wykresX=15;;
for(int i=0; i<24; i++)
{
painter.setBrush(QColor(255,0,0));
painter.drawRect(QRect(QPoint(wykresX,150),QPoint(wykresX+8,150-dane[i])));
wykresX+=9;
}
rysujOsie();
}
To copy to clipboard, switch view to plain text mode
Bookmarks