Sur cette page

QSerialPortInfo Class

Fournit des informations sur les ports série existants. En savoir plus...

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 distinct et peut être interrogé pour obtenir les paramètres ` port name`, ` system location`, ` description`, ` manufacturer` et 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"
                 << "Emplacement :" << portInfo.systemLocation() << "\ n "
                 << "Description :" << portInfo.description()<< "\n"
                <<  « Fabricant : » << portInfo.manufacturer() <<  « \n »
                 <<  « Numéro de série : » << portInfo.serialNumber() <<  « \n »
                 <<  « Identifiant du fournisseur : »
                << (portInfo.hasVendorIdentifier()
                     ? QByteArray::number(portInfo.vendorIdentifier(), 16)
                     : QByteArray()) << "\n"
                 << "Identifiant du produit :"
                 << (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 cette bibliothèque n'est pas disponible, le système se rabat sur la lecture des fichiers du répertoire /sys/class/tty.

On sait que certaines versions de libudev comportent un bogue et indiquent à tort le VID et le PID d’un concentrateur USB au lieu de ceux 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 également QSerialPort.

Documentation des fonctions membres

QSerialPortInfo::QSerialPortInfo()

Crée un objet QSerialPortInfo vide.

Voir également isNull().

[explicit] QSerialPortInfo::QSerialPortInfo(const QSerialPort &port)

Crée un objet `QSerialPortInfo` à partir de l'port.

[explicit] QSerialPortInfo::QSerialPortInfo(const QString &name)

Crée un objet `QSerialPortInfo` à partir du port série name.

Ce constructeur identifie le port série correspondant parmi ceux disponibles en fonction du nom de port name, puis crée l’instance d’informations sur le port série pour ce port.

QSerialPortInfo::QSerialPortInfo(const QSerialPortInfo &other)

Crée une copie de other.

[noexcept] QSerialPortInfo::~QSerialPortInfo()

Supprime l'objet « QSerialPortInfo ». Les références aux valeurs contenues dans cet objet ne sont plus valides.

[static] QList<QSerialPortInfo> QSerialPortInfo::availablePorts()

Renvoie une liste des ports série disponibles sur le système.

Voir également Port enumeration on Linux.

QString QSerialPortInfo::description() const

Renvoie la chaîne de description du port série, si elle est disponible ; sinon, renvoie une chaîne vide.

Voir également manufacturer() et serialNumber().

bool QSerialPortInfo::hasProductIdentifier() const

Renvoie « true » si un numéro de produit 16-bit valide est présent ; sinon, renvoie « false ».

Voir également productIdentifier(), vendorIdentifier() et hasVendorIdentifier().

bool QSerialPortInfo::hasVendorIdentifier() const

Renvoie « true » si un numéro de fournisseur 16-bit valide est présent ; sinon, renvoie « false ».

Voir également vendorIdentifier(), productIdentifier() et hasProductIdentifier().

bool QSerialPortInfo::isNull() const

Indique si cet objet ` QSerialPortInfo ` contient une définition de port série.

QString QSerialPortInfo::manufacturer() const

Renvoie la chaîne de caractères indiquant le fabricant du port série, si elle est disponible ; sinon, renvoie une chaîne vide.

Voir également 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 sur 16 bits correspondant au port série, s'il est disponible ; sinon, renvoie zéro.

Voir également hasProductIdentifier(), vendorIdentifier() et hasVendorIdentifier().

QString QSerialPortInfo::serialNumber() const

Renvoie la chaîne correspondant au 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 pris en charge par la plateforme cible.

void QSerialPortInfo::swap(QSerialPortInfo &other)

Remplace QSerialPortInfo other par ceci : QSerialPortInfo. Cette opération est très rapide et ne pose jamais de problème.

QString QSerialPortInfo::systemLocation() const

Renvoie l'emplacement système du port série.

Voir aussi portName().

quint16 QSerialPortInfo::vendorIdentifier() const

Renvoie le numéro de fabricant sur 16 bits correspondant au port série, s'il est disponible ; sinon, renvoie zéro.

Voir également hasVendorIdentifier(), productIdentifier() et hasProductIdentifier().

QSerialPortInfo &QSerialPortInfo::operator=(const QSerialPortInfo &other)

Définit l'objet ` QSerialPortInfo ` de manière à ce qu'il soit é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.