Seite 1 von 1

Problem mit Signal - Slot - Mechanismus

Verfasst: 17. Juli 2009 20:55
von Mensch
Hallo zusammen,

ich habe eine Frage zu dem Signal&Slot Mechanismus von Qt. Ich versuche folgendes:

Code: Alles auswählen

FeatureTransformation::FeatureTransformation(QWidget *parent) :
    QDialog(parent),
    m_ui(new Ui::FeatureTransformation)
{
    m_ui->setupUi(this);

    connect(m_ui->buttonBox->button(QDialogButtonBox::Apply), SIGNAL(clicked()), this, SLOT(apply()));
}
Der Compiler sagt mir dann, dass der letzte Parameter von connect ein Qt::ConnectionType sein muss, bei mir aber ein const char* ist. ich habe diesen SLOT aber ganz normal in der selben Klasse mit

Code: Alles auswählen

private slots:
    void apply();
angelegt, Ist das genug Information zum Problem, bzw sieht jemand was ich falsch mache?

Verfasst: 17. Juli 2009 20:59
von upsala
Und wie lautet die genaue Compilermeldung?

Verfasst: 17. Juli 2009 21:33
von Mensch
Die lautet:
FeatureTransformation.cpp:9: Fehler: keine passende Funktion für Aufruf von »FeatureTransformation::connect(QPushButton*, const char*, FeatureTransformation* const, const char*)«
/usr/include/qt4/QtCore/qobject.h:202: Anmerkung: Kandidaten sind: static bool QObject::connect(const QObject*, const char*, const QObject*, const char*, Qt::ConnectionType)
/usr/include/qt4/QtCore/qobject.h:307: Anmerkung: bool QObject::connect(const QObject*, const char*, const char*, Qt::ConnectionType) const

Verfasst: 17. Juli 2009 22:01
von Christian81
QPushButton header nicht inkludiert. Daher weiß der Compiler nicht dass QPushButton von QObject abgeleitet ist.

Verfasst: 17. Juli 2009 23:38
von Mensch
Genau das war's. Nicht <QtGui>, sondern nur <QtGui/QDialog> war inkludiert. danke für die Hilfe!