⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 graphicsitem.cpp

📁 Linux窗口程序设计__Qt4精彩实例分析上面的源代码第二部分.以循序渐进的方式进行源代码,包括Qt4下面的图形与图画对话框QMainWindow的源代码.
💻 CPP
字号:
#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 + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -