@@ -100,6 +100,9 @@ | |||||
<None Include="resources\Modbus.ico" /> | <None Include="resources\Modbus.ico" /> | ||||
<ResourceCompile Include="resources\Modbus.rc" /> | <ResourceCompile Include="resources\Modbus.rc" /> | ||||
</ItemGroup> | </ItemGroup> | ||||
<ItemGroup> | |||||
<ClInclude Include="x64\Debug\qt\uic\ui_modbus.h" /> | |||||
</ItemGroup> | |||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> | ||||
<ImportGroup Condition="Exists('$(QtMsBuild)\qt.targets')"> | <ImportGroup Condition="Exists('$(QtMsBuild)\qt.targets')"> | ||||
<Import Project="$(QtMsBuild)\qt.targets" /> | <Import Project="$(QtMsBuild)\qt.targets" /> | ||||
@@ -47,4 +47,9 @@ | |||||
<Filter>Source Files</Filter> | <Filter>Source Files</Filter> | ||||
</ClCompile> | </ClCompile> | ||||
</ItemGroup> | </ItemGroup> | ||||
<ItemGroup> | |||||
<ClInclude Include="x64\Debug\qt\uic\ui_modbus.h"> | |||||
<Filter>Header Files</Filter> | |||||
</ClInclude> | |||||
</ItemGroup> | |||||
</Project> | </Project> |
@@ -19,6 +19,13 @@ public: | |||||
Modbus(QWidget *parent = nullptr); | Modbus(QWidget *parent = nullptr); | ||||
~Modbus(); | ~Modbus(); | ||||
QStringList get_avail_serialport(); | |||||
public slots: | |||||
// 显示可用串口 | |||||
void init_serialport_client(); | |||||
private: | private: | ||||
Ui::ModbusClass *ui; | Ui::ModbusClass *ui; | ||||
}; | }; | ||||
@@ -5,6 +5,7 @@ Modbus::Modbus(QWidget *parent) | |||||
, ui(new Ui::ModbusClass()) | , ui(new Ui::ModbusClass()) | ||||
{ | { | ||||
ui->setupUi(this); | ui->setupUi(this); | ||||
init_serialport_client(); | |||||
} | } | ||||
Modbus::~Modbus() | Modbus::~Modbus() | ||||
@@ -12,3 +13,30 @@ Modbus::~Modbus() | |||||
delete ui; | 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; | |||||
} |