qt QSerialPortInfo详解
1、概述
QSerialPortInfo
是 Qt 框架中 QtSerialPort 模块提供的一个类,它用于描述和查询系统上的串行端口信息。通过 QSerialPortInfo
,开发者可以获取串行端口的名称、描述、制造商、物理位置、硬件ID、产品ID、供应商ID等信息,以及判断端口是否忙碌、是否可打开等状态。这个类对于需要与系统串行端口进行交互的应用程序来说非常有用,比如串口通信程序、硬件调试工具等。
2、重要方法
- availablePorts():静态方法,返回系统上所有可用的串行端口信息列表。
- portName():返回串行端口的名称,通常是系统为端口分配的标识符,如 "COM1"、"ttyUSB0" 等。
- description():返回端口的描述信息,通常是端口的友好名称或制造商提供的信息。
- manufacturer():返回端口的制造商名称。
- serialNumber():返回端口的序列号。
- vendorIdentifier() 和 productIdentifier():分别返回端口的供应商ID和产品ID,这些ID通常用于识别特定的硬件设备。
- isBusy():判断端口当前是否忙碌,即是否已被其他应用程序打开。
- hasProductIdentifier() 和 hasVendorIdentifier():分别判断端口是否有产品ID和供应商ID。
- systemLocation():返回端口的物理位置信息,如 "USB\VID_XXXX&PID_YYYY..."。
#include <QCoreApplication>
#include <QtSerialPort/QSerialPortInfo>
#include <QDebug>int main(int argc, char *argv[]) {QCoreApplication a(argc, argv);// 获取所有可用的串行端口信息QList<QSerialPortInfo> availablePorts = QSerialPortInfo::availablePorts();// 遍历并打印每个端口的信息for (const QSerialPortInfo &portInfo : availablePorts) {qDebug() << "Port Name:" << portInfo.portName();qDebug() << "Description:" << portInfo.description();qDebug() << "Manufacturer:" << portInfo.manufacturer();qDebug() << "Serial Number:" << portInfo.serialNumber();qDebug() << "Vendor ID:" << portInfo.vendorIdentifier();qDebug() << "Product ID:" << portInfo.productIdentifier();qDebug() << "System Location:" << portInfo.systemLocation();qDebug() << "Is Busy:" << (portInfo.isBusy() ? "Yes" : "No");qDebug() << "---";}return a.exec(); // 对于控制台应用程序,保持程序运行以查看输出
}
需要商务合作(定制程序)的欢迎私信!!
技术交流qq群:
觉得有帮助的话,打赏一下呗。。