Seite 1 von 1

CUSTOM SLOTS

Verfasst: 19. Mai 2010 10:56
von Nvidia
Warum funktioniert das nicht
connect(QPushButton, SIGNAL(clicked()), this, SLOT(valid(5)));

private slots:
bool valid(int k);

Er sagt:
No such slot Class::valid(2);
wie macht man das er das int als eingangsvariable für den slot erkennt?

Verfasst: 19. Mai 2010 11:21
von franzf
Das geht so leider gar nicht.
1) Du kannst beim connect() keine Werte übergeben, sondern nur die Parametertypen angeben.
2) müssen die Parameterlisten übereinstimmen, nur der SLOT darf weniger Parameter als das SIGNAL haben - von hinten wegnehmen. Nicht aber das SIGNAL!
3) Müssen die QObject im connect-Statement OBJEKTE sein, das "QPushButton" für den Sender passt also auch nicht.

Lösung für dein Problem:

Code: Alles auswählen

public slots:
  void valid() { valid(5); }
  void valid( int num ) { mach_was_mit(num); }

public:
  MyClass() {
    connect(btn, SIGNAL(clicked()), SLOT(valid()));
  }
http://doc.qt.nokia.com/4.6/signalsands ... ml#signals