使用Qt中的setText将portname写入标签



我想尝试在QT中显示portname信息。代码在这里:

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未在此范围中声明

那么,我可以做些什么来向label显示portname信息呢?

我犯了一个很大的错误。在分享了这个问题之后,我意识到了这一点。

真正的代码必须是这样的:

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());部分必须在括号中。

相关内容

  • 没有找到相关文章

最新更新