0

我是 Qt 的新手。这是我现在正在做的项目,我想从 Qt 的 GUI 调整 LED 亮度。我只需要QSpinBox输入亮度值(0~255)并QPushButton确认该值并将此信号发送给 Arduino 执行。但我不知道这个 GUI 有什么样的命令。这是我的 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);
}

我的 GUI 看起来像

所以我可以输入 lum (0~255) 的值来调整 LED 的亮度。希望你们能在这里帮助我。提供一些示例或代码。非常感谢您的所有帮助。

马克维

4

1 回答 1

2

To link the QPushButton to your code, you need signals and slots. You could use the QPushButton::clicked() signal in order to submit the value in the SpinBox.
You could connect this signal to another slot function using the QObject::connect() function.
But only QObjects or its children. I suggest you read Qt's documentation on signals and slots from here http://doc.qt.io/qt-5/signalsandslots.html

于 2016-07-18T07:06:12.623 回答