Hi!
Danke für die Hilfe!
Nun wollte ich mir selbst einen Slot basteln.
Nach Klicken auf button1 soll lineEdit eine 2 ausgeben. Jedoch liefert mir der Linker folgenden Fehler:
Code:
main.cpp:25: undefined reference to `vtable for MyWidget'
Später folgt noch:
Code:
main.cpp: more undefined references to `vtable for MyWidget' follow
collect2: ld returned 1 exit status
Hier ist das Codebeispiel:
Code:
#include <QApplication>
#include <QPushButton>
#include <QLineEdit>
#include <QVBoxLayout>
#include <Qt3Support/Q3ListBoxItem>
#include <Qt3Support/Q3ListBox>
class MyWidget : public QWidget
{
Q_OBJECT
public:
MyWidget(QWidget *parent = 0);
void handleSlotsSignals();
public slots:
void Slot_setText()
{
lineEdit->setText("2");
}
private:
QLineEdit *lineEdit;
QPushButton *button1;
};
MyWidget::MyWidget(QWidget *parent) : QWidget(parent)
{
button1 = new QPushButton("Write Text");
lineEdit = new QLineEdit;
lineEdit->setText(QString("1"));
//handleSlotsSignals();
QObject::connect( button1, SIGNAL( clicked() ), parent, SLOT( Slot_setText() ) );
QVBoxLayout *layout = new QVBoxLayout;
layout->addWidget(button1);
layout->addWidget(lineEdit);
setLayout(layout);
}
void MyWidget::handleSlotsSignals()
{
//QObject::connect( button1, SIGNAL( clicked() ), parent, SLOT( Slot_setText() ) ); // Fehler!!
//QObject::connect( button1, SIGNAL( clicked() ), lineEdit, SLOT( clear() ) ); OK!!
}
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
MyWidget widget;
widget.show();
return app.exec();
}
Würde mich freuen, wenn ihr mir helfen könntet!
Grüße proggy
Lesezeichen