标题:这个FlashItem::paint()是如何被调用的?
作者:oceanwind
日期:2016-07-24 13:04
内容:
看到书上的例子,不知道FlashItem::paint()是如何被调用的,形参中“QPainter *painter”会在重绘时自动被调用吗?代码如下(去掉了其他items只留下flashitem):
=======pro文件:============================
#-------------------------------------------------
#
# Project created by QtCreator 2013-05-30T14:48:51
#
#-------------------------------------------------
QT += core gui
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
TARGET = my_GItem
TEMPLATE = app
SOURCES += main.cpp\
mainwindow.cpp \
flashitem.cpp
HEADERS+= mainwindow.h \
flashitem.h
=======FLASHITEM_H文件============================
#ifndef FLASHITEM_H
#define FLASHITEM_H
#include
#include
#include
class FlashItem : public QObject,public QGraphicsItem
{
Q_OBJECT
public:
explicit FlashItem(QObject *parent = 0);
QRectF boundingRect() const;
void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget);
void timerEvent(QTimerEvent *);
private:
bool flash;
QTimer *timer;
signals:
public slots:
};
#endif // FLASHITEM_H
=======MAINWINDOW_H文件:============================
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include
#include
#include
#include
#include
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
MainWindow(QWidget *parent = 0);
~MainWindow();
void initScene(); ..
#1 [kaon 07-25 10:23]
QGraphicsView会调用的,不用管