mit this in QT4

Hi !

Ich habe hier ( wahrscheinlich ein blödes Problem ) wo ich nicht weiß, wie ich das lösen könnte !

Code:
#include <QtGui/QApplication>
#include <QtGui/QDialog>
#include <QtGui/QPushButton>

class TestClass : public QDialog
{
    public:
        TestClass();
    private:
        void initGUI(void);
        QPushButton *btn;
    private slots:
         void buttonSlot(void);
};

TestClass::TestClass()
:btn(new QPushButton("Test",this))
{
    initGUI();
}

void TestClass::initGUI(void)
{
    setFixedSize(300,300);
    QObject::connect(btn,SIGNAL(clicked()),this,SLOT(buttonSlot()));
}

void TestClass::buttonSlot(void)
{
    exit(0);
}

int main(int argc, char **argv)
{
    QApplication app(argc, argv);
    TestClass cls;
    cls.setVisible(true);
    return app.exec();
}

Ich habe das mal etwas abgespeckt. Ich will den Dialog über den Button schliessen, jedoch sagt er , dass es keinen Slot QDialog::buttonSlot() geben würde. Wie mache ich ihm klar, dass dieser in TestClass vorhanden ist ?
 
Also ich mach das mit dem schließen immer wie in der QT4 Doku.

So funktioniert es bei mir am besten:

Code:
    #include <QApplication>
    #include <QFont>
    #include <QPushButton>
    #include <QWidget>

    class MyWidget : public QWidget
    {
    public:
        MyWidget(QWidget *parent = 0);
    };

    MyWidget::MyWidget(QWidget *parent)
        : QWidget(parent)
    {
        setFixedSize(300, 300);

        QPushButton *quit = new QPushButton(("Test"), this);
        
	/*
	*This is to set the geometry of the QPushButton
	*quit->setGeometry(62, 40, 75, 30);
        */
	
        connect(quit, SIGNAL(clicked()), qApp, SLOT(quit()));
    }

    int main(int argc, char *argv[])
    {
        QApplication app(argc, argv);
        MyWidget widget;
        widget.show();
        return app.exec();
    }

Aber so genau find ich den Fehler bei dir gerade nicht.

MfG
Lord
 
Das Problem ist,dass er aus Slots von QDialog und nicht noch zusätzlich auf die von TestClass zugreift, und ich komme nicht dahinter wieso.
 
Zurück
Oben