#include "CounterButton.h" CounterButton::CounterButton() { counter = 0; // String-Muster, in das wir später die Werte einfügen pattern = "Button wurde %1 mal betaetigt.\nZum beenden muss er noch %2 mal betaetigt werden."; // Wird der Button betätigt, erhöhen wir den Counter. // Es ist hier kein QObject-Namespace nötig, da wir über QPushButton indirekt von QObject ableiten. connect( this, &CounterButton::clicked, this, &CounterButton::incrementCounter ); // Text des Buttons aktualisieren adjustText(); // Größe des Buttons fixieren setFixedSize( 600, 100 ); } void CounterButton::adjustText() { // Richtige Werte in das Muster einsetzen und Text auf dem Button anzeigen. setText( pattern.arg( QString::number( counter ), QString::number( 10 - counter ) ) ); // Signal auslösen, dass der Text geändert wurde. emit textChanged( text() ); } void CounterButton::incrementCounter() { counter++; // Wenn der Button 10 Mal gedrückt wurde, wird das Signal ausgelöst. if (counter == 10) emit tenTimesClicked(); // Text des Buttons aktualisieren adjustText(); }