Ich schreibe eine App für Relais-Controller. Ich habe eine Funktion, die/schließt Relais öffnet:QTimer, parametrisierter Steckplatz
void setRelay(unsigned int relay_number, bool state);
Jetzt möchte ich einige Taste, um ein Relais zu öffnen für sagen 1sek lässt.
Ich möchte wie dies th etw:
void on_button_clicked()
{
setRelay(1, true);
QTimer::singleShot(1000,this,SLOT(setRelay(1,false)))
}
Ja, ich weiß, dass die Signale nicht funktionieren auf diese Weise. Gibt es eine Möglichkeit, das vom Timer ausgegebene Signal zu ändern, so dass ein Relais geschlossen wird. Nächste, was ich kam, ist dies:
QTimer::singleShot(1000,this,SLOT(relay_1_off()));
und dann muss ich einen Schlitz pro Relais machen es zu schließen:
void relay_1_off(){
setRelay(1,false);
}
Könnte es, ohne dass so viele Slots durchgeführt werden, haben jemand einige mehr schlauer Weg? Grüße
Was ist die Version von Qt Was haben Sie? – eyllanesc
Ich verwende die neueste Version 5.9. –