//获取串口列表
int snum=0;
/*QList<QSerialPortInfo> list = QSerialPortInfo::availablePorts();
foreach (const QSerialPortInfo &serialport, list) {
ui->cb_port->addItem(serialport.portName());
}*/
//用下面的方法会过滤掉一些无用的串口
QSerialPort temp_serial;
foreach (const QSerialPortInfo &Info, QSerialPortInfo::availablePorts()) {
qDebug() << "portName :" << Info.portName();//调试时可以看的串口信息
qDebug() << "Description :" << Info.description();
qDebug() << "Manufacturer:" << Info.manufacturer();
temp_serial.setPort(Info);
if(temp_serial.open(QIODevice::ReadWrite)){//如果串口是可以读写方式打开的
ui->cb_port->addItem(Info.portName());
temp_serial.close();
++snum;
}
}
//默认选中第0项
if(snum>2){
ui->cb_port->setCurrentIndex(1);
}
this->SerialPort = ui->cb_port->currentText();