Promoted widget. Erreur de compilation
J'ai essayé de résumer au maximum le problème...
Projet sous QtCreator, basé sur une QDialog.
A l'intérieur de cette QDialog, avec QtDesigner (intégré) je crée un widget de type QSpinBox que je promote en QSpinBoxColoured...
la déclaration de la classe QSpinBoxColoured est la suivante:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
| #ifndef QSPINBOXCOLOURED_H
#define QSPINBOXCOLOURED_H
#include <QSpinBox>
class QSpinBoxColoured : public QSpinBox
{
Q_OBJECT
public:
QSpinBoxColoured(QWidget *&W): QSpinBox(W) {}
};
#endif // QSPINBOXCOLOURED_H |
Lors de la compilation, j'ai droit à l'erreur:
Code:
1 2 3 4
| ui_dialog.h: In member function `void Ui_DialogClass::setupUi(QDialog*)':
ui_dialog.h:32: error: no matching function for call to `QSpinBoxColoured::QSpinBoxColoured(QDialog*&)'
qspinboxcoloured.h:7: note: candidates are: QSpinBoxColoured::QSpinBoxColoured(const QSpinBoxColoured&)
qspinboxcoloured.h:10: note: QSpinBoxColoured::QSpinBoxColoured(QWidget*&) |
lors de la compilation de la ligne (autogénérée) de ui_dialog.h:
Code:
spinBox = new QSpinBoxColoured(DialogClass);
Pourtant, une QDialog dérive d'un QWidget, donc un casting implicite devrait être fait... Une idée?