通过界面修改配置

master
qushuailong 2 years ago
parent eb72df6210
commit ce0ff38613

@ -1,6 +1,6 @@
{ {
"address": { "address": {
"IP": "127.0.0.1", "IP": "127.0.0.1",
"Port": "9900" "Port": "2000"
} }
} }

@ -50,7 +50,6 @@ void TcpServer::onCloseConnect()
m_tcpServerPtr->disconnect(); m_tcpServerPtr->disconnect();
m_tcpServerPtr->close(); m_tcpServerPtr->close();
} }
} }
void TcpServer::onNewConnection() void TcpServer::onNewConnection()
{ {

@ -1,6 +1,7 @@
#pragma execution_character_set("utf-8") #pragma execution_character_set("utf-8")
#include "VisionController.h" #include "VisionController.h"
QString absolutePath = "\\..\\runner17\\config\\";
VisionController::VisionController(QWidget *parent) VisionController::VisionController(QWidget *parent)
: QMainWindow(parent) : QMainWindow(parent)
{ {
@ -36,22 +37,40 @@ VisionController::VisionController(QWidget *parent)
connect(m_tcpServerPtr, &TcpServer::sgReceived, this, &VisionController::receivedData); connect(m_tcpServerPtr, &TcpServer::sgReceived, this, &VisionController::receivedData);
connect(m_tcpServerPtr, &TcpServer::sgDisconnected, this, &VisionController::onDisconnected); connect(m_tcpServerPtr, &TcpServer::sgDisconnected, this, &VisionController::onDisconnected);
m_ioControllerPtr = new IOController(); m_ioControllerPtr = new IOController();
unsigned int serialNum = 2; unsigned int comlNum=0;
if (!m_ioControllerPtr->controllerInitialization(serialNum)) if (!readComSetting(path, comlNum))
{ {
QString showMsg = QString("串口Com%1初始化失败").arg(serialNum); QString showMsg = QString("未能读取到Com配置文件");
ui.textLog->appendPlainText(showMsg);
}
if (!m_ioControllerPtr->controllerInitialization(comlNum))
{
QString showMsg = QString("串口Com%1初始化失败").arg(comlNum);
ui.textLog->appendPlainText(showMsg); ui.textLog->appendPlainText(showMsg);
} }
else else
{ {
QString showMsg = QString("串口Com%1初始化成功").arg(serialNum); QString showMsg = QString("串口Com%1初始化成功").arg(comlNum);
ui.textLog->appendPlainText(showMsg); ui.textLog->appendPlainText(showMsg);
} }
} }
VisionController::~VisionController()
{
if (m_ioControllerPtr)
{
delete m_ioControllerPtr;
//m_ioControllerPtr = nullptr;
}
if (m_tcpServerPtr)
{
delete m_tcpServerPtr;
}
}
bool VisionController::readServerConfig(QString path, QString& serverIP, quint16& port) bool VisionController::readServerConfig(QString path, QString& serverIP, quint16& port)
{ {
QString filePath = path + "\\..\\config\\tcpServer.json"; //QString filePath = path + "\\..\\config\\tcpServer.json";
QString filePath = path + absolutePath + "tcpServer.json";
QFile jsonFile(filePath); QFile jsonFile(filePath);
if (!jsonFile.exists()) if (!jsonFile.exists())
{ {
@ -82,7 +101,8 @@ bool VisionController::readServerConfig(QString path, QString& serverIP, quint16
} }
bool VisionController::writeServerConfig(QString path, QString serverIP, quint16 serverPort) bool VisionController::writeServerConfig(QString path, QString serverIP, quint16 serverPort)
{ {
QString filePath = path + "\\..\\config\\tcpServer.json"; //QString filePath = path + "\\..\\config\\tcpServer.json";
QString filePath = path + absolutePath + "tcpServer.json";
QFile jsonFile(filePath); QFile jsonFile(filePath);
if (!jsonFile.open(QIODevice::WriteOnly)) if (!jsonFile.open(QIODevice::WriteOnly))
{ {
@ -100,20 +120,35 @@ bool VisionController::writeServerConfig(QString path, QString serverIP, quint16
jsonFile.close(); jsonFile.close();
return true; return true;
} }
VisionController::~VisionController() bool VisionController::readComSetting(QString path, unsigned int& comNum)
{ {
if (m_ioControllerPtr) QString filePath = path + absolutePath + "comSetting.json";
QFile comSettingFile(filePath);
if (!comSettingFile.exists())
{ {
delete m_ioControllerPtr; qDebug() << "文件:" << filePath << "不存在!";
//m_ioControllerPtr = nullptr; return false;
} }
if (!comSettingFile.open(QIODevice::ReadOnly | QIODevice::Text))
if (m_tcpServerPtr)
{ {
delete m_tcpServerPtr; qDebug() << "文件:" << filePath << "打开失败!";
return false;
} }
QByteArray dataArray = comSettingFile.readAll();
comSettingFile.close();
QJsonParseError jsonError;
QJsonDocument jsonDocument = QJsonDocument::fromJson(dataArray, &jsonError);
if (jsonError.error != QJsonParseError::NoError)
{
qDebug() << "文件:" << filePath << "格式错误!";
return false;
}
QJsonObject jsonObject = jsonDocument.object();
comNum = jsonObject.value("Com").toInt();
return true;
} }
Q_SLOT void VisionController::onButtonClicked() Q_SLOT void VisionController::onButtonClicked()
{ {
QString strObj = sender()->objectName(); QString strObj = sender()->objectName();

@ -31,6 +31,7 @@ private:
Q_SLOT void onDisconnected(QString ip, quint16 port); Q_SLOT void onDisconnected(QString ip, quint16 port);
bool readServerConfig(QString path, QString& serverIP, quint16& port); bool readServerConfig(QString path, QString& serverIP, quint16& port);
bool writeServerConfig(QString path, QString serverIP, quint16 port); bool writeServerConfig(QString path, QString serverIP, quint16 port);
bool readComSetting(QString path, unsigned int& comNum);
TcpServer* m_tcpServerPtr; TcpServer* m_tcpServerPtr;
IOController* m_ioControllerPtr{nullptr}; IOController* m_ioControllerPtr{nullptr};
//IOInterface* m_ioInterfacePtr{ nullptr }; //IOInterface* m_ioInterfacePtr{ nullptr };

Loading…
Cancel
Save