You header file is wrong:

You have:
private:
    Ui::MainWindow *ui;
    void joyConnect();
    void updateForm();

and it should be:

private slots:
    void joyConnect();
    void updateForm();

private:
    Ui::MainWindow *ui;

On 04/04/2011 16:22, aadeesh bhagwatkar wrote:
Sorry to bother you again with this. I know this is been asked/answered before. I have searched (googled) and read a lot on this topic and tried each and every instructions (moc, Q_OBJECT macro etc..) to solve this error.

Finally i tried the mailing lists and found a solution:
http://www.archivum.info/[email protected]/2010-02/00805/Re-%28Qt-interest%29-Runtime-Error--connect-No-such-slot-%28FIXED%29-But.html

But still i am having the following runtime error.

    Starting
    
/home/aadeesh/Project/Qt/gamepadReader/gamepadReader-build-desktop/gamepadReader...

    Object::connect: No such slot MainWindow::updateForm() in
    ../gamepadReader/mainwindow.cpp:11

    Object::connect: (receiver name: 'MainWindow')


    Object::connect: No such slot MainWindow::joyConnect() in
    ../gamepadReader/mainwindow.cpp:12


    Object::connect: (sender name: 'btnConnect')

    Object::connect: (receiver name: 'MainWindow')

    
/home/aadeesh/Project/Qt/gamepadReader/gamepadReader-build-desktop/gamepadReader
    exited with code 0




I am using Qt Creator on Ubuntu 10.10.
My code files are:

mainwindow.h

    #ifndef MAINWINDOW_H
    #define MAINWINDOW_H

    #include <QMainWindow>
    #include <QTimer>
    #include <joystick.h>

    namespace Ui {
        class MainWindow;
    }

    class MainWindow : public QMainWindow
    {
        Q_OBJECT

    public:
        explicit MainWindow(QWidget *parent = 0);
        ~MainWindow();
        QTimer *timer;
        Joystick *joystick;

    private:
        Ui::MainWindow *ui;
        void joyConnect();
        void updateForm();
    };

    #endif // MAINWINDOW_H


mainwindow.cpp

    #include "mainwindow.h"
    #include "ui_mainwindow.h"

    MainWindow::MainWindow(QWidget *parent) :
        QMainWindow(parent),
        ui(new Ui::MainWindow)
    {
        ui->setupUi(this);
        timer = new QTimer(this);
        joystick = new Joystick();
        connect(timer, SIGNAL(timeout()), this, SLOT(updateForm()));
        connect(ui->btnConnect, SIGNAL(clicked()), this,
    SLOT(joyConnect()));
    }

    void MainWindow::updateForm()
    {
        if(joystick->init(ui->joyInput->text().toAscii()) > -1)
        {
            ui->btnConnect->setText("Connected");
            timer->start();
        }
    }

    void MainWindow::joyConnect()
    {
        ui->axis1->display(joystick->getAxis(0));
        ui->axis2->display(joystick->getAxis(1));
        ui->axis3->display(joystick->getAxis(2));
        ui->axis4->display(joystick->getAxis(3));
    }

    MainWindow::~MainWindow()
    {
        delete ui;
    }


main.cpp

    #include <QtGui/QApplication>
    #include "mainwindow.h"

    int main(int argc, char *argv[])
    {
        QApplication a(argc, argv);
        MainWindow w;
        w.show();

        return a.exec();
    }



Please help me solve this error. An explanation will help me learn more.
Thank You.
--
Aadeesh S. Bhagwatkar


_______________________________________________
Qt-creator mailing list
[email protected]
http://lists.qt.nokia.com/mailman/listinfo/qt-creator
_______________________________________________
Qt-creator mailing list
[email protected]
http://lists.qt.nokia.com/mailman/listinfo/qt-creator

Reply via email to