Название: Добавить QGraphicsItem в сцену по нажатию кнопки Отправлено: JohnKrusty от Май 01, 2011, 14:11 Добрый день. Есть класс Node, наследник QGraphicsItem, по сути это узел графа, короче кружочек. Необходимо по нажатию кнопки добавлять узел в сцену. Сцена связывается с QGraphicsView в конструкторе окна, а добавление само происходит в функции клика по кнопке, естественно прога вылетает после клика. Код типо:
Код: MainWindow::MainWindow(QWidget *parent) : Название: Re: Добавить QGraphicsItem в сцену по нажатию кнопки Отправлено: alexman от Май 01, 2011, 20:02 Где падает? В конструкторе Node?
Название: Re: Добавить QGraphicsItem в сцену по нажатию кнопки Отправлено: madRoger от Май 01, 2011, 20:48 А как вы из слота хотите обратиться к локальному указателю на объект, который создается в конструкторе(и там же умирает)?
Указатель на объект сцены обычно объявляют в хедере, а в конструкторе выделяют под него память, но не так: Код: QGraphicsScene * scene = new QGraphicsScene; Код: scene = new QGraphicsScene; А в слоте уже обращаются к объекту сцены через указатель scene. Название: Re: Добавить QGraphicsItem в сцену по нажатию кнопки Отправлено: alexman от Май 01, 2011, 20:49 QGraphicsScene * QGraphicsView::scene () const
|