|
|
@@ -5,6 +5,7 @@ Modbus::Modbus(QWidget *parent) |
|
|
|
, ui(new Ui::ModbusClass()) |
|
|
|
{ |
|
|
|
ui->setupUi(this); |
|
|
|
init_serialport_client(); |
|
|
|
} |
|
|
|
|
|
|
|
Modbus::~Modbus() |
|
|
@@ -12,3 +13,30 @@ Modbus::~Modbus() |
|
|
|
delete ui; |
|
|
|
} |
|
|
|
|
|
|
|
// 实现下拉框显示串口 |
|
|
|
void Modbus::init_serialport_client() |
|
|
|
{ |
|
|
|
ui->serialBox->addItems(get_avail_serialport()); |
|
|
|
} |
|
|
|
|
|
|
|
// 下拉框获取信息 |
|
|
|
QStringList Modbus::get_avail_serialport() |
|
|
|
{ |
|
|
|
// 下拉框串口 |
|
|
|
QStringList list_avail_serialport; |
|
|
|
|
|
|
|
// 遍历可用串口 |
|
|
|
foreach(const QSerialPortInfo & info, QSerialPortInfo::availablePorts()) |
|
|
|
{ |
|
|
|
// 串口 |
|
|
|
QSerialPort serial; |
|
|
|
serial.setPort(info); |
|
|
|
// 显示串口名 |
|
|
|
if (serial.open(QIODevice::ReadWrite)) |
|
|
|
{ |
|
|
|
list_avail_serialport.append(serial.portName()); |
|
|
|
serial.close(); |
|
|
|
} |
|
|
|
} |
|
|
|
return list_avail_serialport; |
|
|
|
} |