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?
CUSTOM SLOTS
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:
http://doc.qt.nokia.com/4.6/signalsands ... ml#signals
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()));
}