2016-07-18 21 views
0

Ich bin ein neuer schlanker von Qt. Hier ist das Projekt, das ich gerade mache, ich möchte die LED-Leuchtkraft von Qt's GUI anpassen. Alles, was ich brauche, sind QSpinBox, um den Helligkeitswert einzugeben (0 ~ 255) und QPushButton, um den Wert zu bestätigen und dieses Signal an Arduino zur Ausführung zu senden. Aber ich weiß nicht, welche Art von Befehlen für diese GUI. Hier ist mein Arduino Code:Qt QSpinbox und QPushButton zu Arduino

const int ledPin = 9; 
int ledlum; 
void setup() { 
    pinMode(ledPin, OUTPUT); 
    analogWrite(ledPin, 0); 
    Serial.begin(9600); 
} 

void loop() { 
    if (Serial.available()){ 
    ledlum = Serial.parseInt(); 
    write_led(ledlum); 
    } 
} 

void write_led(int lum){ 
    analogWrite(ledPin, 0 + lum); 
} 

My GUI looks like

So kann ich den Wert von lum (0 ~ 255) geben die LED-Helligkeit einzustellen. Ich hoffe, ihr könnt mir hier helfen. Geben Sie ein Beispiel oder einen Code an. Vielen Dank für Ihre Hilfe.

Macive

+1

Fragen Sie, wie man die Werte/Ereignisse aus dem UI oder wie diesen Wert an das Arduino senden? – Nicholas

+0

Ich löste das QSpinBox-Problem und jetzt löse ich den QPushButton, ich möchte, dass der Button auf meinen Befehl wartet, um den Wert in Arduino zu senden. –

Antwort

2

Um die QPushButton, um Ihren Code zu verknüpfen, müssen Sie Signale und Slots. Sie könnten das Signal QPushButton :: clicked() verwenden, um den Wert in der SpinBox zu senden.
Sie können dieses Signal mit der Funktion QObject :: connect() mit einer anderen Steckplatzfunktion verbinden.
Aber nur QObjects oder seine Kinder. Ich schlage vor, lesen Sie Qt Dokumentation über Signale und Steckplätze von hier http://doc.qt.io/qt-5/signalsandslots.html