在另一个类的表单上添加QGraphicsView

时间:2013-12-17 18:59:55

标签: c++ qt qgraphicsview qmainwindow

我有一个 MainWindow 类和另一个类。 另一个类的方法 createView 可以创建新的 QGraphicsView 。我从 MainWindow 调用这个方法,我也想在我的表单上布局这个视图。它看起来像:

MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow)) {
       ...
       AnotherClass object(this);
       object.createView();
       ...
}
...
void AnotherClass::createView() {
       QGraphicsView *gv= new QGraphicsView(mainWindow); // mainWindow - pointer to MainWindow object
       gv->show();
}

但它没有那么好用......实际上根本不起作用。是的,我将指针保存在我的另一个类中的MainWindow对象作为mainWindow,我从另一个类构造函数中获取。 如果使用

MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow)) {
       ...
       QGraphicsView *gv= new QGraphicsView(this); 
       gv->show();
       ...
}

它会正常工作,但这个解决方案并不让我满意。

1 个答案:

答案 0 :(得分:0)

问题在于在堆栈上创建变量。