Bonsoir, mon probleme est le suivant :
Lorsque je compile mes sources j'obtiens des erreurs de link :
[Linker error] undefined reference to `vtable for MyApp'
[Linker error] undefined reference to `vtable for MyApp'
[Linker error] undefined reference to `vtable for MyApp'
[Linker error] undefined reference to `vtable for MyApp'
ld returned 1 exit status
[Build Error] [Qtpremprog.exe] Error 1
Je ne vois pas où est l'erreur, car j'ai bien configurer mes options de
projets comme il faut, dans l'onglet parametres et le Makefile.
Voici mon code :
ui_premprog.h :
<!-- BEGIN TEMPLATE: bbcode_code -->
Code :
#ifndef UI_PREMPROG_H
#define UI_PREMPROG_H
#include <QtCore/QVariant>
#include <QtGui/QAction>
#include <QtGui/QApplication>
#include <QtGui/QButtonGroup>
#include <QtGui/QLineEdit>
#include <QtGui/QPushButton>
#include <QtGui/QWidget>
class Ui_Form
{
public:
QPushButton *bCalculer;
QLineEdit *lineEdit_3;
void setupUi(QWidget *Form)
{
Form->setObjectName(QString::fromUtf8("Form"));
bCalculer = new QPushButton(Form);
bCalculer->setObjectName(QString::fromUtf8("bCalculer"));
bCalculer->setGeometry(QRect(210, 180, 75, 23));
lineEdit_3 = new QLineEdit(Form);
lineEdit_3->setObjectName(QString::fromUtf8("lineEdit_3"));
lineEdit_3->setGeometry(QRect(30, 20, 241, 141));
retranslateUi(Form);
QSize size(307, 224);
size = size.expandedTo(Form->minimumSizeHint());
Form->resize(size);
QMetaObject::connectSlotsByName(Form);
}// setupUi
void retranslateUi(QWidget *Form)
{
Form->setWindowTitle(QApplication::translate("Form", "Form", 0, QApplication::UnicodeUTF8));
bCalculer->setText(QApplication::translate("Form", "PushButton", 0, QApplication::UnicodeUTF8));
Q_UNUSED(Form);
}// retranslateUi
};
namespace Ui {
class Form: public Ui_Form {};
}// namespace Ui
#endif
<!-- END TEMPLATE: bbcode_code -->
MyApp.h :
<!-- BEGIN TEMPLATE: bbcode_code -->
Code :
#ifndef QtpremProg
#define QtpremProg
#include "ui_premprog.h"
class MyApp : public QWidget, private Ui::Form
{
Q_OBJECT
public:
MyApp(QWidget *parent = 0);
public slots :
void Ecrire();
};
#endif
<!-- END TEMPLATE: bbcode_code -->
MyApp1.cpp :
<!-- BEGIN TEMPLATE: bbcode_code -->
Code :
#include <QtGui>
#include "MyApp.h"
MyApp::MyApp(QWidget *parent)
{
setupUi(this);
connect(bCalculer, SIGNAL(clicked()), lineEdit_3, SLOT(Ecrire()));
}
void MyApp::Ecrire()
{
QString chaine = "Ma premiere appli QT en GUI!!!!";
lineEdit_3->setText(chaine);
}
<!-- END TEMPLATE: bbcode_code -->
main.cpp :
<!-- BEGIN TEMPLATE: bbcode_code -->
Code :
#include <QApplication>
#include "MyApp.h"
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
MyApp *dialogue = new MyApp;
dialogue->show();
return app.exec();
}
<!-- END TEMPLATE: bbcode_code -->
je precise que ui_premprog.h a été crée grâce à Qt designer.
Afficher la suite