Ich habe eine einfache C++ Qt
Programm und ich bekomme undefined Referenz, wenn ich private Slots verwenden. Kann mir jemand helfen?qt privaten Steckplatz moc undefined Referenzfehler
Ich lerne GUI-Design mit Qt5
aus dem Buch C++ GUI Programming with Qt4. Ich verwende cmake
mit MinGW
Compiler in Windows
.
Wenn ich jedoch aus der Header-Datei Q_OBJECT
auskommentieren, kompiliert es ohne Fehler.
Dies ist die Header-Datei.
#ifndef MYWIDGETS_H
#define MYWIDGETS_H
#include <QDialog>
class mywidgets : public QDialog
{
Q_OBJECT
public:
mywidgets();
void myDemoWidgets();
void mySecondDemoWidgets();
private:
void findLayout();
private slots:
//void findClicked();
void enableFindButton(const QString &text);
signals:
void findNext(const QString &str, Qt::CaseSensitivity cs);
void findPrevious(const QString &str, Qt::CaseSensitivity cs);
};
#endif // MYWIDGETS_H
Dies ist der Fehler:
myClass_automoc.cpp:-1: error: undefined reference to mywidgets::enableFindButton(QString const&)
Können Sie zeigen uns, Implementierung ('.cpp') Datei, haben Sie erklären' Leere enableFindButton (const QString &text); 'in' .cpp' Datei als 'Leere mywidgets :: enableFindButton (const QString & Text) {}' Wenn Sie den Fehler loswerden, können Sie Code in den Körper des 'slots' setzen. – KernelPanic
@KernelPanic Die Slot-Funktion wird in der Funktion connect() verwendet. ' connect (lineLayout, SIGNAL (textChanged (const QString &))), dies, SLOT (enableFindButton (const QString &))); ' – sutradhar
) Bitte fügen Sie zusätzliche Informationen zurück in die Frage, anstatt in Kommentare. –