Diskuze: C++ Dědičnost v QT Creator

C++ C a C++ C++ Dědičnost v QT Creator

Avatar
marek.barinka:

Zdravím,
jsem celkem nováček s C++ a QT Creator (ve škole se učíme Javu). Potřeboval bych poradit s dědičností. Mým cílem je vytvořit třídu Wall, která bude potomkem QGraphicsRectItem. Z QGraphicsRectItem chci použít tu grafickou stránku a práci s ní a přidefinovat k tomu vlastní parametry (např. barva zdi). Zkoušel jsem několik návodů/tipů, ale rozchodit se mi to nepodařilo. Budu rád za každou radu.
Dolů přikládám zdrojáky (jsou trochu pokus/omyl).
Děkuji

wall.h

#ifndef WALL_H
#define WALL_H

#include <QGraphicsRectItem>

class Wall : public QGraphicsRectItem
{
    Q_OBJECT
public:
    explicit Wall();

signals:

public slots:

};

#endif // WALL_H

wall.cpp

#include <QGraphicsRectItem>
#include "wall.h"

Wall::Wall()
{
    QGraphicsRectItem(10,10,100,200,QGraphicsItem * parent = 0);
}
 
Odpovědět 19.10.2014 19:07
Avatar
Odpovídá na marek.barinka
marek.barinka:

Zkoušel jsem i toto jako wall.cpp a nic.

#include <QGraphicsRectItem>
#include "wall.h"

Wall::Wall()
    :QGraphicsRectItem(10,10,100,200)
{}
 
Nahoru Odpovědět 19.10.2014 20:23
Avatar
Odpovídá na Lukáš Hruda (Luckin)
marek.barinka:

Současné problémy se mi již podařilo odstranit. Musel jsem dědit i ze třídy QObject. Přikládám zdrojáky, pokud by to někdo využil.

wall.h

#ifndef WALL_H
#define WALL_H

#include <QObject>
#include <QGraphicsRectItem>

class Wall : public QObject, QGraphicsRectItem
{
    Q_OBJECT
public:
    explicit Wall(qreal x,qreal y,qreal w,qreal h,QGraphicsItem *parent);

signals:

public slots:

};

#endif // WALL_H

wall.cpp

#include "wall.h"

Wall::Wall(qreal x,qreal y,qreal w,qreal h,QGraphicsItem *p)
    :QObject(),QGraphicsRectItem(x,y,w,h,p)
{}
Akceptované řešení
+20 Zkušeností
Řešení problému
 
Nahoru Odpovědět 23.10.2014 16:26
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 4 zpráv z 4.