我不明白发生了什么:当我直接创建 QGraphicsView 对象并使用像素图添加场景时,一切正常,像素图出现在屏幕上:
scene.addPixmap(pix);
QGraphicsView graphicsView;
graphicsView.setScene(&scene);
但是,当我尝试继承 QGraphicsView 类以重新实现事件时,什么也没发生,我得到了没有像素图的白屏,但是像更改光标这样的事件正在工作:
scene.addPixmap(pix);
DrawArea graphicsView;
graphicsView.setScene(&scene);
.h 文件:
class DrawArea : public QGraphicsView
{
Q_OBJECT
public:
DrawArea(QWidget *parent = 0);
~DrawArea();
signals:
public slots:
void mousePressEvent(QMouseEvent * e);
void paintEvent(QPaintEvent *);
void enterEvent(QEvent *e);
private:
QPoint coord;
};
.cpp 文件:
DrawArea::DrawArea(QWidget *parent)
: QGraphicsView(parent){
}
DrawArea::~DrawArea(){
}
void DrawArea::mousePressEvent(QMouseEvent * event){
}
void DrawArea::paintEvent(QPaintEvent *event){
}
void DrawArea::enterEvent(QEvent *event){
viewport()->setCursor(Qt::CrossCursor);
}
告诉我是否遗漏了什么,提前谢谢。