graphicsitem.cpp
来自「Linux窗口程序设计__Qt4精彩实例分析上面的源代码第二部分.以循序渐进的方」· C++ 代码 · 共 64 行
CPP
64 行
#include "graphicsitem.h"
#include <QtGui>
// Flash Item
FlashItem::FlashItem()
{
flash = true;
setFlag(ItemIsMovable);
startTimer(50);
}
QRectF
FlashItem::boundingRect() const
{
qreal adjust = 2;
return QRectF(-10 - adjust, -10 - adjust,
43 + adjust, 43 + adjust);
}
void
FlashItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget)
{
painter->setPen(Qt::NoPen);
painter->setBrush(Qt::darkGray);
painter->drawEllipse(-7,-7,40,40);
painter->setPen(QPen(Qt::black,0));
painter->setBrush(flash ? (Qt::red):(Qt::yellow));
painter->drawEllipse(-10,-10,40,40);
}
void
FlashItem::timerEvent(QTimerEvent * )
{
flash = !flash;
update();
}
// Star Item
StarItem::StarItem()
{
pix.load(":/images/image.png");
}
QRectF
StarItem::boundingRect() const
{
return QRectF(-pix.width()/2,-pix.height()/2,pix.width(),pix.height());
}
void
StarItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget)
{
painter->drawPixmap(boundingRect().topLeft(),pix);
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?