Записать имя порта в метку, используя setText в Qt

Я хочу попробовать показать portname информация в QT. Код здесь:

void MainWindow::on_pushButton_clicked()
{
    foreach (const QSerialPortInfo &info, QSerialPortInfo::availablePorts())
    {
        qDebug() << "Name : " << info.portName();

        // Example use QSerialPort
        QSerialPort serial;
        serial.setPort(info);
        if (serial.open(QIODevice::ReadWrite))
            serial.close();
    }

    ui->label->setText(info.portName());
}

Когда я компилирую этот код, появляется эта ошибка:

info не был объявлен в этой области

Итак, что я могу сделать для показа portname информация для label?

1 ответ

Решение

Я сделал действительно большую ошибку. Я понял после обмена этим вопросом.

Истинный код должен быть таким:

void MainWindow::on_pushButton_clicked()
{
  foreach (const QSerialPortInfo &info, QSerialPortInfo::availablePorts())
  {
        qDebug() << "Name : " << info.portName();
        qDebug() << "Description : " << info.description();
        qDebug() << "Manufacturer: " << info.manufacturer();

        // Example use QSerialPort
        QSerialPort serial;
        serial.setPort(info);
        if (serial.open(QIODevice::ReadWrite))
            serial.close();
   ui->label->setText(info.portName());
}

Это означает, что ui->label->setText(info.portName()); часть должна быть в скобках.

Другие вопросы по тегам