【问题标题】:Qt Widgets and derived classesQt 小部件和派生类
【发布时间】:2017-05-25 10:34:04
【问题描述】:

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

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

DerivedView 类代码:

class DerivedView : public QGraphicsView {
...

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

DerivedView * dView = ui->myView;

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

class DerivedView {
    QGraphicsView * gv;
...

【问题讨论】:

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


【解决方案1】:

您应该将您的QGraphicsView 升级为DerivedView,因为这遵循以下步骤。

右击QGraphicsView并选择promote to ..

并添加类名和标题

然后按添加。

然后按升级。 在此之后,ui->myView 已经是 DerivedView 类的成员

【讨论】:

  • 促进基类成为派生类?我糊涂了。我有一个calculator.uicalcuator.cppcalcuator.h,我想将其用作我的scientific_calculator.cpp 的基类,所以将计算器类推广为科学计算器?
  • 我的意思是,而不是提升,我认为这是一个较低的派生类提升到一个较高的基类,这似乎相反。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-10-13
  • 1970-01-01
  • 1970-01-01
  • 2011-02-02
  • 2019-05-11
相关资源
最近更新 更多