Válí se ti projekty v šuplíku? Dostaň je mezi lidi a získej cool tričko a body na profi IT kurzy v soutěži ITnetwork summer 2017!
Přidej si svou IT školu do profilu a najdi spolužáky zde na síti :)

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

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

Aktivity (1)
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
Odpovídá na marek.barinka
Lukáš Hruda (Luckin):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 (Luckin)
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.