新手上路欢迎指点。

Qt直线旋转(旋转的直线)

    int x[4];
    bool ok = true;
    QVector<QLineF> lines;


#include "widget.h"

Widget::Widget(QWidget *parent)
    : QWidget(parent)
{
    setWindowTitle("小小柯洁");
    setFixedSize(400,400);
    x[2]=x[3]=400;
    x[0]=x[1]=0;
    startTimer(15);
}

Widget::~Widget()
{

}

void Widget::paintEvent(QPaintEvent *event)
{
    QPainter p_painter(this);
    p_painter.drawLines(lines);
    lines.append(QLineF(x[0],x[1],x[2],x[3]));
}

void Widget::timerEvent(QTimerEvent *event)
{
    if(x[0]==400)
    {
        ok = false;
        if(x[1]==400)
        {
            x[0]=0;
            x[1]=0;
            x[2]=400;
            x[3]=400;
            ok = true;
            lines.clear();
        }
    }
    if(ok)
    {
        x[0]++;
        x[2]--;
    }
    else
    {
        x[1]++;
        x[3]--;
    }
    update();

相关文章: