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