完全搞不懂Qt了!!!!
mainwindow.h
#ifndef MAINWINDOW_H#define MAINWINDOW_H#include <QMainWindow>#include <QPushButton>class MyWindow : public QMainWindow{ Q_OBJECTpublic: MyWindow(QWidget *parent = 0);protected: void paintEvent(QPaintEvent *); void timerEvent(QTimerEvent *);private: bool start; QPixmap pixmap;};#endif // MAINWINDOW_H#include<QMainWindow>#include<QPainter>#include "mainwindow.h"MyWindow::MyWindow(QWidget *parent):QMainWindow(parent),pixmap(800,600){ start=true; resize(800,600); startTimer(5000);}void MyWindow::paintEvent(QPaintEvent *paintevent){ QPainter painter(this); QRect rect(0,0,800,600); QBrush brush(QColor(255,0,0)); painter.setBrush(brush); if(start==true) { painter.drawRect(rect); pixmap.fill(this,0,0); //保存第一次画的东西 start=false; } else { painter.drawPixmap(0,0,pixmap);//还原 }}void MyWindow::timerEvent(QTimerEvent *){ pixmap.fill(this,0,0); update();}#include <QtGui/QApplication>#include "mainwindow.h"int main(int argc, char *argv[]){ QApplication a(argc, argv); MyWindow w; w.show(); return a.exec();}