include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QTimer>
#include <QPainter>
#include <QPixmap>
#include <QPaintEvent>
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
QTimer *tim = new QTimer(this);
connect(tim,SIGNAL(timeout()),this,SLOT(update()));
tim->start(1);
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::paintEvent(QPaintEvent *event)
{
static int rat = 0;
static int unrat = 0;
rat = rat >= 360?0:rat+5;
// unrat = 360-rat;
QPainter painter(this);
if(unrat == 0)
{
QColor quacolor(60,60,120);
painter.setBrush(quacolor);
painter.translate(200,200);
painter.rotate(rat);
painter.drawRect(QRect(-50,-50,100,100));\
unrat++;
}
else if(unrat == 1)
{
QColor quacolor(255,0,0);
painter.setBrush(quacolor);
painter.translate(300,300);
painter.rotate(360-rat);
painter.drawRect(QRect(-50,-50,100,100));
unrat = 0;
}
}
老师我需要做一个程序,在一个桌面内实现多个QRect进行不同方向的旋转,我这个写代码
屏幕闪动的很厉害,请问怎样才能平稳的显示多个QRect,在同一个桌面内,平稳的向各个
方向旋转呢,谢谢老师了!