Добавить QGraphicsView в форме из другого класса
1 r_dmv [2013-12-17 21:59:00]
У меня есть класс 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();
...
}
Это будет хорошо работать, но это решение меня не удовлетворяет.
c++ qt qmainwindow qgraphicsview
1 ответ
0 Решение r_dmv [2013-12-18 22:33:00]
Проблема заключалась в создании переменной в стеке.