QSerialPortInfo 類

提供現有串口的有關信息。 更多...

頭: #include <QSerialPortInfo>
CMake: find_package(Qt6 REQUIRED COMPONENTS SerialPort)
target_link_libraries(mytarget PRIVATE Qt6::SerialPort)
qmake: QT += serialport

公共函數

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 )

靜態公共成員

QList<QSerialPortInfo> availablePorts ()
QList<qint32> standardBaudRates ()

詳細描述

使用靜態 availablePorts () 函數能生成 QSerialPortInfo 對象列錶。列錶中的每個 QSerialPortInfo 對象錶示單個串口,且可以查詢為 端口名 , 係統位置 , description , manufacturer ,和某些其它硬件參數。QSerialPortInfo 類也可以用作輸入參數為 setPort () 方法對於 QSerialPort 類。

用法範例

範例代碼枚舉所有可用的串口,並把其參數打印到控製颱:

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

Linux 的端口枚舉

默認情況下,Linux 使用 libudev 來枚舉可用端口。若庫不可用,它迴退到讀取文件在 /sys/class/tty 目錄。

已知的是,某些版本的 libudev 有 Bug,且會不正確報告 USB 集綫器的 VID 和 PID (進程標識),而不是實際設備。在這種情況下,定義 QT_SERIALPORT_SKIP_UDEV_LOOKUP 環境變量能跳過 libudev 查找且使用信息僅來自 /sys/class/tty 目錄。

另請參閱 QSerialPort .

成員函數文檔編製

QSerialPortInfo:: QSerialPortInfo ()

構造空的 QSerialPortInfo 對象。

另請參閱 isNull ().

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

構造 QSerialPortInfo 對象從串行 port .

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

構造 QSerialPortInfo 對象從串口 name .

此構造函數在可用串口中找到相關串口,根據端口名稱 name ,並為該端口構造串口信息實例。

QSerialPortInfo:: QSerialPortInfo (const QSerialPortInfo & other )

構造副本為 other .

[noexcept] QSerialPortInfo:: ~QSerialPortInfo ()

銷毀 QSerialPortInfo 對象。引用對象中的值變為無效。

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

返迴係統可用串口的列錶。

另請參閱 Linux 的端口枚舉 .

QString QSerialPortInfo:: description () const

返迴串口的描述字符串,若可用;否則返迴空字符串。

另請參閱 manufacturer () 和 serialNumber ().

bool QSerialPortInfo:: hasProductIdentifier () const

返迴 true 若存在有效 16-bit 産品編號呈現;否則返迴 false .

另請參閱 productIdentifier (), vendorIdentifier (),和 hasVendorIdentifier ().

bool QSerialPortInfo:: hasVendorIdentifier () const

返迴 true 若存在有效 16-bit 供應商編號存在;否則返迴 false .

另請參閱 vendorIdentifier (), productIdentifier (),和 hasProductIdentifier ().

bool QSerialPortInfo:: isNull () const

返迴是否此 QSerialPortInfo 對象保持串口定義。

QString QSerialPortInfo:: manufacturer () const

返迴串口的製造商字符串,若可用;否則返迴空字符串。

另請參閱 description () 和 serialNumber ().

QString QSerialPortInfo:: portName () const

返迴串口的名稱。

另請參閱 systemLocation ().

quint16 QSerialPortInfo:: productIdentifier () const

返迴串口的 16 位産品編號,若可用;否則返迴 0。

另請參閱 hasProductIdentifier (), vendorIdentifier (),和 hasVendorIdentifier ().

QString QSerialPortInfo:: serialNumber () const

返迴串口的序列號字符串,若可用;否則返迴空字符串。

注意: 序列號可能包含字母。

另請參閱 description () 和 manufacturer ().

[static] QList < qint32 > QSerialPortInfo:: standardBaudRates ()

返迴由目標平颱支持的,可用標準波特率列錶。

void QSerialPortInfo:: swap ( QSerialPortInfo & other )

交換 QSerialPortInfo other 采用此 QSerialPortInfo 。此操作很快且從不失敗。

QString QSerialPortInfo:: systemLocation () const

返迴串口的係統位置。

另請參閱 portName ().

quint16 QSerialPortInfo:: vendorIdentifier () const

返迴串口的 16 位供應商編號,若可用;否則返迴 0。

另請參閱 hasVendorIdentifier (), productIdentifier (),和 hasProductIdentifier ().

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

設置 QSerialPortInfo 對象等於 other .