我要畫一個圖像和幾行,用我的子類QGraphicsItem
如何使用QGraphicsItem繪製圖像?
這裏是我的代碼(頭文件) -
#ifndef LED_H
#define LED_H
#include <QtGui>
#include <QGraphicsItem>
class LED : public QGraphicsItem
{
public:
explicit LED();
QRectF boundingRect() const;
void paint(QPainter *painter, const QStyleOptionGraphicsItem *option,
QWidget *widget);
private:
static QPixmap *led_on; //<--Problem
};
#endif // LED_H
注意 - LED
將被添加到QGraphicsScene
現在我不知道如何處理它(使用QGraphicsItem繪製圖像),但決定使用static QPixmap
,它應該由LED
類的所有實例共享。
而且在CPP文件中加入這個 - >
QPixmap* LED::led_on = new QPixmap(":/path");
但我得到的構建這個錯誤,運行 -
QPixmap: Cannot create a QPixmap when no GUI is being used
QPixmap: Must construct a QApplication before a QPaintDevice
The program has unexpectedly finished.
請告訴我該怎麼做。 (我是Qt新手) 我應該使用QImage
還是其他的東西?
邊注:由於的QGraphicsItem沒有從QObject的繼承,則不能使用的信號或插槽。所以你應該刪除「信號:」和「公共插槽:」宏。 – Anthony
@Anthony:哦對! QtCreator自動添加它,我將刪除它。 –