写了个GraphicsView类继承自QGraphicsView
.h文件:
- class GraphicsView : public QGraphicsView
- {
- Q_OBJECT
- public:
- GraphicsView ( GraphicsScene * scene, QWidget * parent = 0 );
- protected:
- virtual void paintEvent( QPaintEvent * event );
- };
.cpp文件:
- GraphicsView::GraphicsView(GraphicsScene * scene, QWidget * parent)
- : QGraphicsView(scene,parent)
- {
- this->setScene(scene);
- }
- void GraphicsView::paintEvent(QPaintEvent *event)
- {
- qDebug()<<"View paintEvent...";
- }
后在程序中使用GraphicsView却始终无法将item显示出来
- GraphicsScene *scene = new GraphicsScene();
- scene->setSceneRect(0, 0, 600, 400);
- GraphicsView *view = new GraphicsView(scene, this);
- view->setRenderHint(QPainter::Antialiasing);
- view->resize(600,400);
- view->move(50,50);
- GraphicsPixmapItem *item1 = new GraphicsPixmapItem(QPixmap(":/girl.bmp"));
- item1->setPos(100,0);
- scene->addItem(item1);
- view->show();
// GraphicsScene类继承自QGraphicsScene // 用GraphicsScene无法显示item1,而直接用QGraphicsScene可以显示item1何原因???
[ 此帖被rockyluo在2010-05-06 17:49重新编辑 ]