Преглед на файлове

实现可用串口下拉框功能

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

Зареждане…
Отказ
Запис