0
내 장면에 QPushButton
을 넣으려고하는데 QGraphicsProxyWidget
을 추가하려고하면 충돌이 발생합니다.QGraphicsProxyWidget을 추가 할 때 크래시가 발생합니다.
그래서 여기에 .cpp
입니다 :
#include "upgradecromagnon.h"
#include "game.h"
#include <QGraphicsProxyWidget>
#include <qDebug>
extern Game *game;
UpgradeCromagnon::UpgradeCromagnon()
{
this->setRect(-50,0,150,50);
buttonAmelio = new QPushButton("salut");
teste();
}
void UpgradeCromagnon::teste()
{
QGraphicsProxyWidget *proxy = new QGraphicsProxyWidget();
proxy->setWidget(buttonAmelio);
scene()->addItem(proxy);
}
와 .h
:
#ifndef UPGRADECROMAGNON_H
#define UPGRADECROMAGNON_H
#include <QPainter>
#include <QGraphicsRectItem>
#include <QPushButton>
class UpgradeCromagnon: public QGraphicsRectItem
{
public:
UpgradeCromagnon();
void teste();
private:
QPushButton *buttonAmelio;
};
#endif // UPGRADECROMAGNON_H
'UpgradeCromagnon :: teste'에서'scene()'이 호출 될 때 null이 아닌 값을 확실히 반환합니까? –
글쎄, 나는이 시점에서 장면이 설정되기 전에 다른 수업을 가질 수있다 :) – noonana