QT wieder mal Signale und slots

Verschiedenes zu Qt
Antworten
JohnR
Beiträge: 42
Registriert: 3. Dezember 2011 12:23

QT wieder mal Signale und slots

Beitrag von JohnR »

Hi

Ich habe aktuell mein "Lernprogramm" um ein zweites Fenster für optionen erweitert, dieses leite ich von QDialog ab, das alles funktioniert so weit.

Nun habe ich aber zwei Radiobuttons in meinen Optionsfenster und möchte dort bei einer Änderung (also checked/unchecked) ein Signal senden was ein Slot dann empfängt.

Hier raff ich das ganze aber nicht, also vom Hauptfenster connecte ich ja auch zu meinen Funktionen und das funktioniert prima, aber bei dem zweiten Fanster :oops:

bevor Franzf wieder meckert hier mal der Quellcode der options.h

Code: Alles auswählen

#ifndef OPTIONS_H
#define OPTIONS_H

#include "ui_options.h"
#include <QDialog>

class options : public QDialog
{
    Q_OBJECT
public:
    explicit options(QWidget *parent = 0);

private:
    Ui::Dialog UiDialog;

    
signals:
    
public slots:
    void optionselect();
    void optionsstat(bool toggled);

private slots:


    
};

#endif // OPTIONS_H
und der options.cpp

Code: Alles auswählen

#include "options.h"
#include <QDialog>
#include <QFile>
#include <QDebug>

options::options(QWidget *parent) :
    QDialog(parent)
{
    UiDialog.setupUi(this);


    connect(UiDialog.radioButton, SIGNAL(toggled(bool))), this, SLOT(optionsstat(toggled));
}



void options::optionselect()
{

    options o;
    o.exec();

    QString optionsfile,option;
    QStringList optionslist;
    QString dir = QCoreApplication::applicationDirPath();
    optionsfile = dir + "/options.rsc";
    QFile optio(optionsfile);
    optio.open(QIODevice::ReadWrite);

    if (optio.error() == 0)
    {
        option = optio.readLine();
    }

    optionslist = option.split(",");
    int og = optionslist.size();
    qDebug() << og;

}

void options::optionsstat(bool toggled)
{

    qDebug() << toggled;


als Fehlermeldung bekomme ich

Code: Alles auswählen

C:\Qt\Testpro\options.cpp:12: Fehler:no matching function for call to 'options::connect(QRadioButton*&, const char*)'

Code: Alles auswählen

C:\Qt\Testpro\..\..\QtSDK\Desktop\Qt\4.7.4\mingw\include\QtCore\qobject.h:198: candidates are: static bool QObject::connect(const QObject*, const char*, const QObject*, const char*, Qt::ConnectionType)

kann mich da mal einer erhellen wo ich da auf dem Schlauch stehe

weihnachtliche Grüße
John
franzf
Beiträge: 3114
Registriert: 31. Mai 2006 11:15

Re: QT wieder mal Signale und slots

Beitrag von franzf »

Schau dir mal die Klammerung in der Zeile mit dem connect an, speziell zähle vom Beginn weg die öffnenden und finde die zugehörigen schließenden Klammern ;)
Nach der Meldung sollten noch einige andere "komische" Fehlermeldungen gekommen sein.
Vor allem das Syntax-Highlighting der IDE kann solche Fehler recht gut beim Bearbeiten aufdecken.
JohnR
Beiträge: 42
Registriert: 3. Dezember 2011 12:23

Re: QT wieder mal Signale und slots

Beitrag von JohnR »

Tatsache das wars schon, und ich dachte ich raff hier wieder was grundsätzliches nicht :mrgreen:

DANKE
Antworten