QSerialPortInfo Class
Fournit des informations sur les ports série existants. Plus d'informations...
| En-tête : | #include <QSerialPortInfo> |
| CMake : | find_package(Qt6 REQUIRED COMPONENTS SerialPort)target_link_libraries(mytarget PRIVATE Qt6::SerialPort) |
| qmake : | QT += serialport |
Fonctions publiques
| QSerialPortInfo() | |
| QSerialPortInfo(const QSerialPort &port) | |
| QSerialPortInfo(const QString &name) | |
| QSerialPortInfo(const QSerialPortInfo &other) | |
| ~QSerialPortInfo() | |
| QString | description() const |
| bool | hasProductIdentifier() const |
| bool | hasVendorIdentifier() const |
| bool | isNull() const |
| QString | manufacturer() const |
| QString | portName() const |
| quint16 | productIdentifier() const |
| QString | serialNumber() const |
| void | swap(QSerialPortInfo &other) |
| QString | systemLocation() const |
| quint16 | vendorIdentifier() const |
| QSerialPortInfo & | operator=(const QSerialPortInfo &other) |
Membres publics statiques
| QList<QSerialPortInfo> | availablePorts() |
| QList<qint32> | standardBaudRates() |
Description détaillée
Utilisez la fonction statique availablePorts() pour générer une liste d'objets QSerialPortInfo. Chaque objet QSerialPortInfo de la liste représente un port série unique et peut être interrogé sur les paramètres port name, system location, description, manufacturer, ainsi que sur d'autres paramètres matériels. La classe QSerialPortInfo peut également être utilisée comme paramètre d'entrée pour la méthode setPort() de la classe QSerialPort.
Exemple d'utilisation
Le code d'exemple énumère tous les ports série disponibles et affiche leurs paramètres sur la console :
const auto serialPortInfos = QSerialPortInfo::availablePorts() ; for(const QSerialPortInfo &portInfo: serialPortInfos) { qDebug() << "\n" << "Port :"<< portInfo.portName()<< "\n"<< " Location :"<< portInfo.systemLocation()<< "\n"<< "Description :"<< portInfo.description()<< "\n "<< "Manufacturer :"<< portInfo.manufacturer()<< "\n"<< "Serial number :"<< portInfo.serialNumber()<< "\n"<< "Vendor Identifier :"<< (portInfo.hasVendorIdentifier() ? QByteArray::number(portInfo.vendorIdentifier(), 16) : QByteArray())<< "\n"<< "Product Identifier :"<< (portInfo.hasProductIdentifier() ? QByteArray::number(portInfo.productIdentifier(), 16) : QByteArray()) ; }
Énumération des ports sous Linux
Par défaut, Linux utilise libudev pour énumérer les ports série disponibles. Si la bibliothèque n'est pas disponible, il se rabat sur la lecture des fichiers du répertoire /sys/class/tty.
Il est connu que certaines versions de libudev ont un bogue et rapportent incorrectement le VID et le PID d'un hub USB au lieu du périphérique réel. Dans ce cas, définissez la variable d'environnement QT_SERIALPORT_SKIP_UDEV_LOOKUP pour ignorer la recherche dans libudev et n'utiliser que les informations du répertoire /sys/class/tty.
Voir aussi QSerialPort.
Documentation des fonctions membres
QSerialPortInfo::QSerialPortInfo()
Construit un objet QSerialPortInfo vide.
Voir aussi isNull().
[explicit] QSerialPortInfo::QSerialPortInfo(const QSerialPort &port)
Construit un objet QSerialPortInfo à partir de port.
[explicit] QSerialPortInfo::QSerialPortInfo(const QString &name)
Construit un objet QSerialPortInfo à partir du port série name.
Ce constructeur trouve le port série approprié parmi les ports disponibles en fonction du nom du port name, et construit l'instance d'information sur le port série pour ce port.
QSerialPortInfo::QSerialPortInfo(const QSerialPortInfo &other)
Construit une copie de other.
[noexcept] QSerialPortInfo::~QSerialPortInfo()
Détruit l'objet QSerialPortInfo. Les références aux valeurs de l'objet deviennent invalides.
[static] QList<QSerialPortInfo> QSerialPortInfo::availablePorts()
Renvoie une liste des ports série disponibles sur le système.
Voir aussi Port enumeration on Linux.
QString QSerialPortInfo::description() const
Renvoie la chaîne de description du port série, si elle est disponible ; sinon, elle renvoie une chaîne vide.
Voir aussi manufacturer() et serialNumber().
bool QSerialPortInfo::hasProductIdentifier() const
Renvoie true s'il existe un numéro de produit 16-bit valide ; sinon, renvoie false.
Voir aussi productIdentifier(), vendorIdentifier() et hasVendorIdentifier().
bool QSerialPortInfo::hasVendorIdentifier() const
Renvoie true s'il existe un numéro de vendeur 16-bit valide ; sinon, renvoie false.
Voir aussi vendorIdentifier(), productIdentifier(), et hasProductIdentifier().
bool QSerialPortInfo::isNull() const
Indique si l'objet QSerialPortInfo contient une définition de port série.
QString QSerialPortInfo::manufacturer() const
Renvoie la chaîne du fabricant du port série, si elle est disponible ; sinon, renvoie une chaîne vide.
Voir aussi description() et serialNumber().
QString QSerialPortInfo::portName() const
Renvoie le nom du port série.
Voir aussi systemLocation().
quint16 QSerialPortInfo::productIdentifier() const
Renvoie le numéro de produit 16 bits du port série, s'il est disponible ; sinon, renvoie zéro.
Voir aussi hasProductIdentifier(), vendorIdentifier() et hasVendorIdentifier().
QString QSerialPortInfo::serialNumber() const
Renvoie le numéro de série du port série, s'il est disponible, sinon renvoie une chaîne vide.
Remarque : le numéro de série peut comporter des lettres.
Voir également description() et manufacturer().
[static] QList<qint32> QSerialPortInfo::standardBaudRates()
Renvoie une liste des débits en bauds standard disponibles, pris en charge par la plate-forme cible.
void QSerialPortInfo::swap(QSerialPortInfo &other)
Remplace QSerialPortInfo other par QSerialPortInfo. Cette opération est très rapide et n'échoue jamais.
QString QSerialPortInfo::systemLocation() const
Renvoie l'emplacement du port série dans le système.
Voir également portName().
quint16 QSerialPortInfo::vendorIdentifier() const
Renvoie le numéro de fournisseur 16 bits du port série, s'il est disponible ; sinon, renvoie zéro.
Voir aussi hasVendorIdentifier(), productIdentifier() et hasProductIdentifier().
QSerialPortInfo &QSerialPortInfo::operator=(const QSerialPortInfo &other)
Définit l'objet QSerialPortInfo comme étant égal à other.
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.