基于QT用工厂模式实现串口通信与网络通信激光器的控制
- 配置文件
网络配置:IP+Port
串口配置:端口号+波特率
首先,我们需要创建一个配置文件 config.ini
,内容如下:
[SerialLaser]
portName = COM1
baudRate = 9600[NetworkLaser]
ipAddress = 192.168.1.1
port = 1234
两类激光器的实现:
#include <QCoreApplication>
#include <QSettings>
#include <QSerialPort>
#include <QTcpSocket>
#include <iostream>
#include <memory>// 抽象激光器类
class Laser {
public:enum class Mode { GATE, TRIG };virtual void communicate() = 0; // 抽象方法virtual void turnOn() = 0; // 开关方法virtual void turnOff() = 0; // 关闭方