2016-07-20 3 views
0

Je souhaite essayer d'afficher portname dans QT. Le code est ici:Ecrivez le nom du port sur une étiquette en utilisant setText dans 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()); 
} 

Quand je compile ce code cette erreur est:

info n'a pas été déclarée dans ce champ

Alors, que puis-je faire pour montrer portname informations à label?

Répondre

0

J'ai fait une très grosse erreur. J'ai réalisé après avoir partagé cette question.

Le code vrai doit être comme ça:

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()); 
} 

Cela signifie que ui->label->setText(info.portName()); partie doit être parenthesss.