QGraphicsItem

来源:互联网 发布:音乐截取软件在线 编辑:程序博客网 时间:2024/05/03 20:19
#ifndef MYITEM_H#define MYITEM_H#include <QGraphicsItem>class MyItem : public QGraphicsItem{public:    MyItem();    QRectF boundingRect() const;    void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget);};#endif // MYITEM_H
#include "myitem.h"#include <QPainter>#include <QRectF>MyItem::MyItem(){}QRectF MyItem::boundingRect() const{    qreal adjust=0.5;    return QRectF(-18-adjust,-22-adjust,                 36+adjust,60+adjust);}void MyItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget){    painter->drawRect(0,0,20,20);}

#include <QtGui/QApplication>#include <QGraphicsScene>#include <QGraphicsView>#include "myitem.h"int main(int argc, char *argv[]){    QApplication a(argc, argv);    QGraphicsScene scene;    scene.setSceneRect(-300,-300,600,600);    scene.setItemIndexMethod(QGraphicsScene::NoIndex);    MyItem *item=new MyItem;    scene.addItem(item);    QGraphicsView view(&scene);    view.setRenderHint(QPainter::Antialiasing);    view.setCacheMode(QGraphicsView::CacheBackground);    view.setViewportUpdateMode(QGraphicsView::BoundingRectViewportUpdate);    view.setDragMode(QGraphicsView::ScrollHandDrag);    view.resize(400,300);    view.show();    return a.exec();}


原创粉丝点击