私は最近Qtを学び始めました。
QPainter
クラスを使用してどのようにペイントすることができるかはっきりしませんでした。窓の中にいくつかの点を置いてみたいとしましょう:QPainterでペイントする方法は?
class PointDrawer: public QWidget {
Q_OBJECT
private:
QPainter p;
public:
PointDrawer(QWidget* obj=0): QWidget(obj), p(this) {}
virtual void paintEvent(QPaintEvent*) {
p.setPen(QPen(Qt::black, 3));
int n = 8;
while(...) {
qreal fAngle = 2 * 3.14 * i/n;
qreal x = 50 + cos(fAngle) * 40;
qreal y = 50 + sin(fAngle) * 40;
p.drawPoint(QPointF(x, y));
i++;
}
}
}
int main(int argc, char *argv[]) {
QApplication app(argc, argv);
PointDrawer drawer;
drawer.resize(200, 200);
drawer.show();
return app.exec();
}
その後、私は何も持っていません!
私が間違っている場所を教えてもらえますか?
paintEventイベントに反応したくない場合はどうすればよいですか?たとえば、あるボタンを押すと、何かをペイントしたいと思います。どのようにこれを行うことができますか? – chester89