QT获取串口列表
https://www.cnblogs.com/tonifyingheart/p/9893561.html
项目的.pro文件中:
QT += core gui
# 注意和上面的+=号对齐,否则就失效了 QT += serialport RC_ICONS = htd.ico greaterThan(QT_MAJOR_VERSION, 4): QT += widgets CONFIG += c++11 # The following define makes your compiler emit warnings if you use # any Qt feature that has been marked deprecated (the exact warnings # depend on your compiler). Please consult the documentation of the # deprecated API in order to know how to port your code away from it. DEFINES += QT_DEPRECATED_WARNINGS # You can also make your code fail to compile if it uses deprecated APIs. # In order to do so, uncomment the following line. # You can also select to disable deprecated APIs only up to a certain version of Qt. #DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0 SOURCES += \ main.cpp \ mainwindow.cpp HEADERS += \ mainwindow.h FORMS += \ mainwindow.ui TRANSLATIONS += \ qt_test_yue_CN.ts # Default rules for deployment. qnx: target.path = /tmp/$${TARGET}/bin else: unix:!android: target.path = /opt/$${TARGET}/bin !isEmpty(target.path): INSTALLS += target
main.cpp文件中:
#include "mainwindow.h" #include <QApplication> //导入串口包 #include <QCoreApplication> #include <QList> #include <stdio.h> #include <QDebug> #include <QtSerialPort/QSerialPort> #include <QtSerialPort/QSerialPortInfo> int main(int argc, char *argv[]) { QApplication a(argc, argv); MainWindow w; w.show(); //实例化一个类型参数为QSerialPortInfo模板类链表 QList<QSerialPortInfo> serialList; //给链表赋值为获取到的当前设备的所有串口信息的链表 serialList = QSerialPortInfo::availablePorts(); //输出链表头节点的一些信息 qDebug()<< "Name : "<<serialList.first().portName(); qDebug()<< "Description : "<<serialList.first().description(); qDebug()<< "Manufacturer: "<<serialList.first().manufacturer(); qDebug()<< "Serial Number: "<<serialList.first().serialNumber(); qDebug()<< "System Location: "<<serialList.first().systemLocation(); return a.exec(); }