hailler的个人主页

http://www.qtcn.org/bbs/u/183962  [收藏] [复制]

hailler

  • 0

    关注

  • 2

    粉丝

  • 26

    访客

  • 等级:新手上路
  • 总积分:25
  • 保密,2011-01-01

最后登录:2019-06-22

更多资料

日志

自定义 QGraphicsPixmpaItem,实现QGraphicsScene 里添加pixmpap

2017-10-31 19:42
class QTEGraphicsPixmapItem : public QGraphicsPixmapItem
{
public:
    explicit QTEGraphicsPixmapItem(QTEGraphicsItem *parent = 0);
public:
    void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget);
    QRectF boundingRect() const ;
    void setQTEpixmap(QPixmap pixmap);
    QPixmap qtpixmap;
};
void QTEGraphicsPixmapItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget)
{
    QRect r = QRect(option->rect.left(), option->rect.top(),
                    option->rect.width(), option->rect.height());
    painter->drawPixmap(r,qtpixmap);
}
QRectF QTEGraphicsPixmapItem::boundingRect() const
{
    // 可以在这里调整 图像的大小,比例。
    QRect rect = this->pixmap().rect();
    return QRectF(0,0,rect.width(),rect.width());
}
void QTEGraphicsPixmapItem::setQTEpixmap(QPixmap pixmap)
{
    qtpixmap = pixmap;
    setPixmap(qtpixmap);
}
//调用形式
QTEGraphicsPixmapItem *QTEGraphicsScene::addPixmap(const QPixmap &pixmap)
{
     QTEGraphicsPixmapItem* item = new QTEGraphicsPixmapItem;
     item->setQTEpixmap(pixmap);
  //   item->setScale(5);  该代码无效
//    item->setPixmap(pixmap);
     addItem(item);
     return  item;
}

// 调整图片大小可用下列代码
void QTEWordExpress::addPixmap(const QPixmap & pixmap, QPointF pos)
{

    QPixmap ppixmap = pixmap.scaled(600,800);
     QTEGraphicsPixmapItem * item = pageScene->addPixmap(ppixmap);


}
分类:默认分类|回复:1|浏览:729|全站可见|转载
 
 
删除

q小玩家:比较基础,不错

2017-11-07 13:33 -

Powered by phpwind v8.7 Certificate Copyright Time now is:04-27 12:54
©2005-2016 QTCN开发网 版权所有 Gzip disabled