The scene object is a private member of MainWindow class (not pointer) and the view, just as I said, was replaced with the "widget" object in Qt Designer so I don't create it myself. I will provide the header files to be clear:
MainWindow.h:
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QWidget>
#include <QtGui>
namespace Ui
{
class MainWindow;
}
{
Q_OBJECT
public:
explicit MainWindow
(QWidget *parent
= 0);
~MainWindow();
public slots:
void loadImage();
private:
Ui::MainWindow *ui;
};
#endif // MAINWINDOW_H
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QWidget>
#include <QtGui>
namespace Ui
{
class MainWindow;
}
class MainWindow : public QWidget
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = 0);
~MainWindow();
public slots:
void loadImage();
private:
Ui::MainWindow *ui;
QPixmap image;
QGraphicsScene scene;
};
#endif // MAINWINDOW_H
To copy to clipboard, switch view to plain text mode
GraphicsView.h
#ifndef GRAPHICSVIEW_H
#define GRAPHICSVIEW_H
#include <QGraphicsView>
#include <QtGui>
{
Q_OBJECT
public:
explicit GraphicsView
(QWidget *parent
= 0);
~GraphicsView();
signals:
public slots:
private:
bool firstRect;
};
#endif // GRAPHICSVIEW_H
#ifndef GRAPHICSVIEW_H
#define GRAPHICSVIEW_H
#include <QGraphicsView>
#include <QtGui>
class GraphicsView : public QGraphicsView
{
Q_OBJECT
public:
explicit GraphicsView(QWidget *parent = 0);
~GraphicsView();
void loadImage(QPixmap item);
virtual void mouseReleaseEvent (QMouseEvent *event);
signals:
public slots:
private:
QPixmap image;
QPoint point1;
QPoint point2;
QGraphicsRectItem rect;
bool firstRect;
};
#endif // GRAPHICSVIEW_H
To copy to clipboard, switch view to plain text mode
Now you have almost all my code (only main is left).
Bookmarks