IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

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

Aktivity
Avatar
marek.barinka:19.10.2014 19:07

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:19.10.2014 20:23

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
Lukáš Hruda
Tvůrce
Avatar
Odpovídá na marek.barinka
Lukáš Hruda:23.10.2014 14:56

Co to hlásí za chyby?

 
Nahoru Odpovědět
23.10.2014 14:56
Avatar
Odpovídá na Lukáš Hruda
marek.barinka:23.10.2014 16:26

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.