cette erreur apparaît dans la ligne 4:static_cast invalide de type 'QCell *' taper 'QWidget *'
void QPiece::setPosition(QPoint value)
{
_position = value;
QWidget* parentWidget = static_cast<QWidget *>(_board->Cells[value.x() ][ value.y() ]);
if (parentWidget->layout()) {
parentWidget->layout()->addWidget(this); }
else {
QHBoxLayout *layout = new QHBoxLayout(parentWidget);
layout->setMargin(0);
layout->addWidget(this);
parentWidget->setLayout(layout);
}
this->setParent(_board->Cells[ value.x() ][ value.y() ]);
}
Voici la définition des cellules de fonction():
class QBoard : public QWidget
{
Q_OBJECT
public:
QCell *Cells[8][8];
QBoard(QWidget *parent = 0);
void drawCells();
private:
void positionCells();
};
Je pense que je fais quelque chose de mal, mais quoi? Merci d'avance. Voici le type de QCell, et je pense que QWidget est parent QLabel
class QCell:public QLabel
{
Q_OBJECT
public:
QCell(QPoint position, QWidget *parent = 0);
private:
QGame *_game;
QPoint _position;
protected:
void mousePressEvent(QMouseEvent *ev);
};
si ne pas lancer cette affiche cette erreur: – Robert
ne peut pas convertir 'QCell *' pour 'QWidget *' dans l'initialisation – Robert
hey accouple comment avez-vous résoudre ce ? – Drakoumel