#include <QWidget>
#include <QPainter>
#include <QPaintEvent>
#include <QApplication>
public:
for(int i=0;i<360;i++){
data
[i
].
c = QColor(qrand
()%256, qrand
()%256, qrand
()%256
);
data[i].r = (qrand()%(1000*200))/1000.0;
}
}
protected:
p.fillRect(rect(), Qt::white);
for(int i=0;i<360;i++){
p.save();
p.translate(width()/2, height()/2);
p.rotate(i);
p.setPen(data[i].c);
p.restore();
}
}
private:
struct S {
float r;
};
S data[360];
};
int main(int argc, char **argv){
Widget w;
w.show();
return app.exec();
}
#include <QWidget>
#include <QPainter>
#include <QPaintEvent>
#include <QApplication>
class Widget : public QWidget {
public:
Widget() : QWidget(){
for(int i=0;i<360;i++){
data[i].c = QColor(qrand()%256, qrand()%256, qrand()%256);
data[i].r = (qrand()%(1000*200))/1000.0;
}
}
QSize sizeHint() const { return QSize(200,200); }
protected:
void paintEvent(QPaintEvent *){
QPainter p(this);
p.fillRect(rect(), Qt::white);
for(int i=0;i<360;i++){
p.save();
p.translate(width()/2, height()/2);
p.rotate(i);
p.setPen(data[i].c);
p.drawLine(QPointF(0,0), QPointF(data[i].r, 0));
p.restore();
}
}
private:
struct S {
QColor c;
float r;
};
S data[360];
};
int main(int argc, char **argv){
QApplication app(argc, argv);
Widget w;
w.show();
return app.exec();
}
To copy to clipboard, switch view to plain text mode
Bookmarks