瀏覽代碼

实现可用串口下拉框功能

master
ZTZHANG\ztzhang 2 週之前
父節點
當前提交
3e3e0b6e8a
共有 4 個檔案被更改,包括 43 行新增0 行删除
  1. +3
    -0
      Modbus/Modbus.vcxproj
  2. +5
    -0
      Modbus/Modbus.vcxproj.filters
  3. +7
    -0
      Modbus/include/modbus.h
  4. +28
    -0
      Modbus/src/modbus.cpp

+ 3
- 0
Modbus/Modbus.vcxproj 查看文件

@@ -100,6 +100,9 @@
<None Include="resources\Modbus.ico" />
<ResourceCompile Include="resources\Modbus.rc" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="x64\Debug\qt\uic\ui_modbus.h" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Condition="Exists('$(QtMsBuild)\qt.targets')">
<Import Project="$(QtMsBuild)\qt.targets" />


+ 5
- 0
Modbus/Modbus.vcxproj.filters 查看文件

@@ -47,4 +47,9 @@
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="x64\Debug\qt\uic\ui_modbus.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
</Project>

+ 7
- 0
Modbus/include/modbus.h 查看文件

@@ -19,6 +19,13 @@ public:
Modbus(QWidget *parent = nullptr);
~Modbus();

QStringList get_avail_serialport();

public slots:
// 显示可用串口
void init_serialport_client();


private:
Ui::ModbusClass *ui;
};


+ 28
- 0
Modbus/src/modbus.cpp 查看文件

@@ -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;
}

Loading…
取消
儲存