QSerialPortInfo Class
Liefert Informationen über vorhandene serielle Schnittstellen. Mehr...
Kopfzeile: | #include <QSerialPortInfo> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS SerialPort) target_link_libraries(mytarget PRIVATE Qt6::SerialPort) |
qmake: | QT += serialport |
Öffentliche Funktionen
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) |
Statische öffentliche Mitglieder
QList<QSerialPortInfo> | availablePorts() |
QList<qint32> | standardBaudRates() |
Detaillierte Beschreibung
Verwenden Sie die statische Funktion availablePorts(), um eine Liste von QSerialPortInfo-Objekten zu erzeugen. Jedes QSerialPortInfo-Objekt in der Liste repräsentiert eine einzelne serielle Schnittstelle und kann für die port name, system location, description, manufacturer und einige andere Hardware-Parameter abgefragt werden. Die QSerialPortInfo-Klasse kann auch als Eingabeparameter für die Methode setPort() der Klasse QSerialPort verwendet werden.
Beispiel für die Verwendung
Der Beispielcode listet alle verfügbaren seriellen Schnittstellen auf und gibt deren Parameter auf der Konsole aus:
const auto serialPortInfos = QSerialPortInfo::availablePorts(); for(const QSerialPortInfo &portInfo: serialPortInfos) { qDebug() << "\n" << "Port:"<< portInfo.portName()<< "\n"<< " Standort:"<< portInfo.systemLocation()<< "\n"<< "Beschreibung:"<< portInfo.description()<< "\n"<< "Hersteller:"<< portInfo.Hersteller()<< "\n"<< "Seriennummer:"<< portInfo.serialNumber()<< "\n"<< "Vendor Identifier:"<< (portInfo.hasVendorIdentifier() ? QByteArray::number(portInfo.vendorIdentifier(), 16) : QByteArray())<< "\n"<< "Produktkennung:"<< (portInfo.hasProductIdentifier() ? QByteArray::number(portInfo.productIdentifier(), 16) : QByteArray()); }
Port-Aufzählung unter Linux
Standardmäßig verwendet Linux libudev
zur Aufzählung der verfügbaren seriellen Schnittstellen. Wenn die Bibliothek nicht verfügbar ist, wird auf das Lesen von Dateien im Verzeichnis /sys/class/tty
zurückgegriffen.
Es ist bekannt, dass einige Versionen von libudev
einen Fehler haben und fälschlicherweise VID und PID eines USB-Hubs anstelle des tatsächlichen Geräts melden. In solchen Fällen definieren Sie die Umgebungsvariable QT_SERIALPORT_SKIP_UDEV_LOOKUP
, um die Suche nach libudev
zu überspringen und nur die Informationen aus dem Verzeichnis /sys/class/tty
zu verwenden.
Siehe auch QSerialPort.
Dokumentation der Mitgliedsfunktionen
QSerialPortInfo::QSerialPortInfo()
Konstruiert ein leeres QSerialPortInfo-Objekt.
Siehe auch isNull().
[explicit]
QSerialPortInfo::QSerialPortInfo(const QSerialPort &port)
Konstruiert ein QSerialPortInfo-Objekt aus seriellen port.
[explicit]
QSerialPortInfo::QSerialPortInfo(const QString &name)
Konstruiert ein QSerialPortInfo-Objekt von der seriellen Schnittstelle name.
Dieser Konstruktor findet die relevante serielle Schnittstelle unter den verfügbaren anhand des Anschlussnamens name und erstellt die Instanz serial port info für diesen Anschluss.
QSerialPortInfo::QSerialPortInfo(const QSerialPortInfo &other)
Konstruiert eine Kopie von other.
[noexcept]
QSerialPortInfo::~QSerialPortInfo()
Zerstört das Objekt QSerialPortInfo. Verweise auf die Werte des Objekts werden ungültig.
[static]
QList<QSerialPortInfo> QSerialPortInfo::availablePorts()
Gibt eine Liste der verfügbaren seriellen Schnittstellen auf dem System zurück.
Siehe auch Port enumeration on Linux.
QString QSerialPortInfo::description() const
Gibt die Beschreibungszeichenkette der seriellen Schnittstelle zurück, sofern vorhanden; andernfalls wird eine leere Zeichenkette zurückgegeben.
Siehe auch manufacturer() und serialNumber().
bool QSerialPortInfo::hasProductIdentifier() const
Gibt true
zurück, wenn eine gültige 16-bit
Produktnummer vorhanden ist; andernfalls wird false
zurückgegeben.
Siehe auch productIdentifier(), vendorIdentifier(), und hasVendorIdentifier().
bool QSerialPortInfo::hasVendorIdentifier() const
Gibt true
zurück, wenn eine gültige 16-bit
Lieferantennummer vorhanden ist; andernfalls wird false
zurückgegeben.
Siehe auch vendorIdentifier(), productIdentifier(), und hasProductIdentifier().
bool QSerialPortInfo::isNull() const
Gibt zurück, ob dieses QSerialPortInfo Objekt eine Definition für einen seriellen Anschluss enthält.
QString QSerialPortInfo::manufacturer() const
Gibt die Herstellerzeichenkette der seriellen Schnittstelle zurück, falls vorhanden; andernfalls wird eine leere Zeichenkette zurückgegeben.
Siehe auch description() und serialNumber().
QString QSerialPortInfo::portName() const
Gibt den Namen der seriellen Schnittstelle zurück.
Siehe auch systemLocation().
quint16 QSerialPortInfo::productIdentifier() const
Gibt die 16-Bit-Produktnummer für die serielle Schnittstelle zurück, falls vorhanden; andernfalls wird Null zurückgegeben.
Siehe auch hasProductIdentifier(), vendorIdentifier(), und hasVendorIdentifier().
QString QSerialPortInfo::serialNumber() const
Gibt die Zeichenkette mit der Seriennummer des seriellen Anschlusses zurück, falls vorhanden; andernfalls wird eine leere Zeichenkette zurückgegeben.
Hinweis: Die Seriennummer kann Buchstaben enthalten.
Siehe auch description() und manufacturer().
[static]
QList<qint32> QSerialPortInfo::standardBaudRates()
Gibt eine Liste der verfügbaren Standard-Baudraten zurück, die von der Zielplattform unterstützt werden.
void QSerialPortInfo::swap(QSerialPortInfo &other)
Tauscht QSerialPortInfo other mit diesem QSerialPortInfo aus. Dieser Vorgang ist sehr schnell und schlägt nie fehl.
QString QSerialPortInfo::systemLocation() const
Gibt den Systemstandort der seriellen Schnittstelle zurück.
Siehe auch portName().
quint16 QSerialPortInfo::vendorIdentifier() const
Gibt die 16-Bit-Vendor-Nummer für die serielle Schnittstelle zurück, falls vorhanden; andernfalls wird Null zurückgegeben.
Siehe auch hasVendorIdentifier(), productIdentifier(), und hasProductIdentifier().
QSerialPortInfo &QSerialPortInfo::operator=(const QSerialPortInfo &other)
Setzt das Objekt QSerialPortInfo auf den Wert other.
© 2025 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.