Mister Rose
Mister Rose

Reputation: 117

Qt Widgets and derived classes

I am wondering if there is a way to do this.

  1. I create a Qt Application (using Creator 3.6.1, Qt 5.6.0).
  2. I add a widget to the main window. For example a QGraphicsView called myView.
  3. I create a C++ class derived from QGraphicsView (called DerivedView)

code of DerivedView class:

class DerivedView : public QGraphicsView {
...

I would like my new DerivedView class to control this widget. I can access a pointer to the object through ui->myView. Is there any way to do get my derived class to work with the already instantiated QGraphicsView?

DerivedView * dView = ui->myView;

Or do I need to not derive my class from QGraphicsView and just add a pointer as a data member?

class DerivedView {
    QGraphicsView * gv;
...

Upvotes: 2

Views: 1512

Answers (1)

eyllanesc
eyllanesc

Reputation: 244132

You should promote your QGraphicsView to DerivedView, for this follows the following steps.

Right click on QGraphicsView and select promote to ..:

enter image description here

And add the name of the class and header

enter image description here

And press add.

enter image description here

And then press on promote. After this, ui->myView is already a member of the DerivedView class

Upvotes: 3

Related Questions