QPushButton SLOT wird 2x durchlaufen

Alles rund um die Programmierung mit Qt
Antworten
Asfaloth
Beiträge: 4
Registriert: 21. Mai 2009 19:59

QPushButton SLOT wird 2x durchlaufen

Beitrag von Asfaloth »

Hallo,

ich Progge grade ein kleines Spielchen. Dort muss man innerhalb von 10 sek so auft auf einen Button klicken wie möglich.

Ich habe jetzt das Problem, dass der SLOT zwei mal pro Klick durchlaufen wird.
Connected habe ich es wie folgt:

Code: Alles auswählen

connect(ui->btn_start, SIGNAL(pressed()), this, SLOT(on_btn_start_pressed()));
Ich habe es auch schon mit Clicked() probiert, ohne Erfolg.

Hier ist mein SLOT:

Code: Alles auswählen

void click::on_btn_start_pressed()
{
        clicks[timer-1] = clicks[timer-1] + 1;
        qDebug() << "Clicks: " << clicks[timer-1];
        ui->lcd_total->display(ui->lcd_total->intValue()+1);
}
An meiner Maus kann es auch nicht liegen, da auch mit der Enter-Taste der Slot zwei mal aufgerufen wird.

Ich habe keine Ahnung woran das liegen kann, ich hoffe ihr könnt mir helfen! :-)

Vielen Dank schonmal.

Gruß Asfaloth

Edit: Achja, bin unter Windows Vista und nutze den QT Creator (neuste Version)

Edit #2: Ich habe das Connect einfach mal kommentiert. Jetzt läuft er nur einmal durch den SLOT.

Ich habe im Programm KEIN!!!! connect gemacht. Wo kommt das her?!?!?!?
AuE
Beiträge: 918
Registriert: 5. August 2008 10:58

Beitrag von AuE »

connect_slots_by_name oder so ähnlich... automatischer connect von Fkt zu Signalen. Da deine Fkt genauso heisst wie auch der Slot des Steuerelements genannt werden würde werden die beiden autom. verbunden.
Ich tippe aber eher darauf das du beim erstellen des UI mittels "Go To Slot" diesen angelegt hast. Das 2. connect hast du dann selbst getippt. Das war aber unnötig. ;-)
Asfaloth
Beiträge: 4
Registriert: 21. Mai 2009 19:59

Beitrag von Asfaloth »

Genau so habe ich es gemacht.

Der legt beim Go To Slot direkt den connect an? Das ist gut zu wissen. Bei der älteren QT Creator Version wurde das noch nicht gemacht oder ist mir nicht aufgefallen.

Vielen Dank auf jeden Fall, jetzt weiß ich wenigstens woran es gelegen hat :-)

Gruß Asfa
AuE
Beiträge: 918
Registriert: 5. August 2008 10:58

Beitrag von AuE »

Vom Prinzip her könntest du auch einfach die Methode "on_btn_pressed()" erstellen und er müsste sie automatisch mit dem entpr, Signal verbinden allerdings habe ich das noch nicht getestet und würde eher von abraten.
pfid
Beiträge: 535
Registriert: 22. Februar 2008 16:59

Beitrag von pfid »

AuE hat geschrieben: und würde eher von abraten.
Wieso?
AuE
Beiträge: 918
Registriert: 5. August 2008 10:58

Beitrag von AuE »

Wie überprüftst du den connect?
Antworten