Qt QSpinbox и QPushButton для Arduino

Я новый любитель Qt. Вот проект, который я делаю прямо сейчас, я хотел бы настроить яркость светодиода из графического интерфейса Qt. Все, что мне нужно, это QSpinBox для ввода значения яркости (0~255) и QPushButton для подтверждения значения и отправки этого сигнала в Arduino для выполнения. Но я не знаю, какие команды для этого графического интерфейса. Вот мой код 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);
}

Мой графический интерфейс выглядит так

Поэтому я могу ввести значение люм (0~255), чтобы настроить яркость светодиода. Надеюсь, вы, ребята, могли бы помочь мне здесь. Приведите пример или код. Большое спасибо за вашу помощь.

Макив


person Macive Xiong    schedule 18.07.2016    source источник
comment
Вы спрашиваете, как получить значения/события из пользовательского интерфейса или как отправить это значение в Arduino?   -  person Nicholas    schedule 18.07.2016
comment
Я решил проблему QSpinBox, и теперь я решаю QPushButton, я хотел бы, чтобы кнопка ждала моей команды для отправки значения в Arduino.   -  person Macive Xiong    schedule 18.07.2016


Ответы (1)


Чтобы связать QPushButton с вашим кодом, вам нужны сигналы и слоты. Вы можете использовать сигнал QPushButton::clicked() для отправки значения в SpinBox.
Вы можете связать этот сигнал с другой функцией слота, используя функцию QObject::connect().
Но только QObject или его потомки. Я предлагаю вам прочитать документацию Qt по сигналам и слотам здесь http://doc.qt.io/qt-5/signalsandslots.html

person me_alok    schedule 18.07.2016