Bonjour à tous,
Bon je sèche, alors je viens demander de l'aide .
Je continue à améliorer mon petit programme de pilotage de robot .
Je cherche maintenant à paramètrer le Port série avec des combo-box avant de se connecter .
Par exemple pour la partie vitesse de transmission j'arrive à récupérer la liste pour remplir une combox
1 2 3 4
| // Je récupére les vitesses disponibles
for (qint32 Vitesse : QSerialPortInfo::standardBaudRates()) {
ui->Combo_Baud->addItem(QString::number(Vitesse));
} |
et ensuite j'affecte la valeur sélectionnée dans la combobox au paramètre de vitesse :
1 2
| // Je convertie en une valeur int, le texte selectionné dans la combo-box baud
serial.setBaudRate(ui->Combo_Baud->currentText().toInt()); // Je determine la valeur du baudrate |
Je n'arrive pas à faire la même chose, mais avec la parité par exemple.
serial.setParity(QSerialPort::Parity (ui->Combo_Parite->currentData()) );
Me renvoie l'erreur
error: cannot convert 'QVariant' to 'QSerialPort::Parity' without a conversion operator
J'ai beau avoir lu et relu :
http://doc.qt.io/qt-5/qserialport.html#Parity-enum
Je n'arrive pas a trouver le bonne syntaxe .
par exemple dois je rentre une valeur ( 0,2,3,4,5,-1) ou du texte ( "NoParity", "EvenParity"...) ?
Si je dois mettre une valeur, comme ma combo box c'est du texte, donc je dois convertir un string en int ?
Partager