提供現有串口的有關信息。 更多...
| 頭: |
#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 使用
libudev
來枚舉可用端口。若庫不可用,它迴退到讀取文件在
/sys/class/tty
目錄。
已知的是,某些版本的
libudev
有 Bug,且會不正確報告 USB 集綫器的 VID 和 PID (進程標識),而不是實際設備。在這種情況下,定義
QT_SERIALPORT_SKIP_UDEV_LOOKUP
環境變量能跳過
libudev
查找且使用信息僅來自
/sys/class/tty
目錄。
另請參閱 QSerialPort .
構造空的 QSerialPortInfo 對象。
另請參閱 isNull ().
[explicit]
QSerialPortInfo::
QSerialPortInfo
(const
QSerialPort
&
port
)
構造 QSerialPortInfo 對象從串行 port .
[explicit]
QSerialPortInfo::
QSerialPortInfo
(const
QString
&
name
)
構造 QSerialPortInfo 對象從串口 name .
此構造函數在可用串口中找到相關串口,根據端口名稱 name ,並為該端口構造串口信息實例。
構造副本為 other .
[noexcept]
QSerialPortInfo::
~QSerialPortInfo
()
銷毀 QSerialPortInfo 對象。引用對象中的值變為無效。
[static]
QList
<
QSerialPortInfo
> QSerialPortInfo::
availablePorts
()
返迴係統可用串口的列錶。
另請參閱 Linux 的端口枚舉 .
返迴串口的描述字符串,若可用;否則返迴空字符串。
另請參閱 manufacturer () 和 serialNumber ().
返迴
true
若存在有效
16-bit
産品編號呈現;否則返迴
false
.
另請參閱 productIdentifier (), vendorIdentifier (),和 hasVendorIdentifier ().
返迴
true
若存在有效
16-bit
供應商編號存在;否則返迴
false
.
另請參閱 vendorIdentifier (), productIdentifier (),和 hasProductIdentifier ().
返迴是否此 QSerialPortInfo 對象保持串口定義。
返迴串口的製造商字符串,若可用;否則返迴空字符串。
另請參閱 description () 和 serialNumber ().
返迴串口的名稱。
另請參閱 systemLocation ().
返迴串口的 16 位産品編號,若可用;否則返迴 0。
另請參閱 hasProductIdentifier (), vendorIdentifier (),和 hasVendorIdentifier ().
返迴串口的序列號字符串,若可用;否則返迴空字符串。
注意: 序列號可能包含字母。
另請參閱 description () 和 manufacturer ().
[static]
QList
<
qint32
> QSerialPortInfo::
standardBaudRates
()
返迴由目標平颱支持的,可用標準波特率列錶。
交換 QSerialPortInfo other 采用此 QSerialPortInfo 。此操作很快且從不失敗。
返迴串口的係統位置。
另請參閱 portName ().
返迴串口的 16 位供應商編號,若可用;否則返迴 0。
另請參閱 hasVendorIdentifier (), productIdentifier (),和 hasProductIdentifier ().
設置 QSerialPortInfo 對象等於 other .