CUSTOM SLOTS

Verschiedenes zu Qt
Antworten
Nvidia
Beiträge: 238
Registriert: 22. Februar 2010 21:23

CUSTOM SLOTS

Beitrag 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?
franzf
Beiträge: 3114
Registriert: 31. Mai 2006 11:15

Beitrag 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
Antworten