Seite 1 von 1

Signal slot connect problem

Verfasst: 15. November 2006 10:26
von bmeyer
Hallo zusammen.
Wenn ich meiner Testfunktion ein Objekt meiner Klasse übergebe, so wird
die MessageBox nicht angezeigt. Übergebe ich der Testfunktion nichts, so
wird sie angezeigt.

Vielen Dank im voraus...

Hier der Code:

Code: Alles auswählen

meinDialog::meinDialog(meineKlasse& myClass, QWidget *parent)
        : QDialog(parent)
{
  tabWidget = new QTabWidget;
  tabWidget->addTab(new TestTab(myClass), tr("TestTab"));

  QPushButton *okButton = new QPushButton(tr("OK"));
  QPushButton *cancelButton = new QPushButton(tr("Cancel"));

  connect(okButton, SIGNAL(clicked()), this, SLOT( TestFunktion(myClass) ));
...

}

void meinDialog::TestFunktion(meineKlasse& myClass)
{
    QMessageBox::about(this, tr("Meldung:"),
                 tr("In der TestFunktion."));
}


In der Header:
------------------------------------------------------------------------------
 class meinDialog : public QDialog
{
  Q_OBJECT

  public:
        meinDialog(meineKlasse& myClass, QWidget *parent = 0);

  private slots:
        void TestFunktion(meineKlasse& myClass);

  private:
        QTabWidget *tabWidget;
};

Verfasst: 15. November 2006 10:47
von Christian81
Man kann in einem connect keine Parameter übergeben! Gibts schon zig mal hier im Forum. Lernt doch bitte wie Signal/Slots funktionieren!

Code: Alles auswählen

connect(okButton, SIGNAL(clicked()), this, SLOT( TestFunktion() )); 
was anderes geht nicht.