Qt Widgets和派生类

时间:2017-01-10 19:54:57

标签: c++ qt qwidget derived-class qgraphicsview

我想知道是否有办法做到这一点。

  1. 我创建了一个Qt应用程序(使用Creator 3.6.1,Qt 5.6.0)。
  2. 我在主窗口中添加了一个小部件。例如,QGraphicsView名为myView。
  3. 我创建了一个派生自QGraphicsView(称为DerivedView)的C ++类
  4. DerivedView类的代码:

    class DerivedView : public QGraphicsView {
    ...
    

    我希望我的新DerivedView类能够控制这个小部件。我可以通过ui-> myView访问指向该对象的指针。有没有办法让我的派生类与已经实例化的QGraphicsView一起工作?

    DerivedView * dView = ui->myView;
    

    或者我是否需要从QGraphicsView派生我的类并只添加指针作为数据成员?

    class DerivedView {
        QGraphicsView * gv;
    ...
    

1 个答案:

答案 0 :(得分:1)

您应该将QGraphicsView推广到DerivedView,为此,请执行以下步骤。

右键点击QGraphicsView并选择promote to ..

enter image description here

并添加类名称和标题

enter image description here

然后按添加。

enter image description here

然后继续推广。 在此之后,ui->myView已经是DerivedView

的成员