#include "mainwindow.h" #include "ui_mainwindow.h" #include "windowchannel.h" class ModbusOverUdp; MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) , ui(new Ui::MainWindow) { ui->setupUi(this); conf = new QSettings(); modbus=new ModbusOverUdp(); this->setWindowTitle ("Программа для управления A142"); this->setFixedSize(536,608); ui->lineEditPort->setEnabled(0); ui->widget1->setWindowsChannel(Ch1); ui->widget2->setWindowsChannel(Ch2); ui->widget3->setWindowsChannel(Ch3); ui->widget4->setWindowsChannel(Ch4); ui->widgetS1->setWindowsChannel(Ch1); ui->widgetS2->setWindowsChannel(Ch2); ui->widgetS3->setWindowsChannel(Ch3); ui->widgetS4->setWindowsChannel(Ch4); // ui->widget1->hideValue(); // ui->widget2->hideValue(); // ui->widget3->hideValue(); // ui->widget4->hideValue(); ui->lineEditAddres->setText(conf->value("section1/keyCurrentIp").toString()); qDebug()<<"Значение ва памяти"<value("section1/keyCurrentIp").toString(); if(ui->lineEditAddres->text()==""){ ui->lineEditAddres->setText("192.168.0.50"); } QRegularExpression ip_regexp("[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}"); QRegularExpressionValidator *ip_validator = new QRegularExpressionValidator(ip_regexp,ui->lineEditAddres); ui->lineEditAddres->setValidator(ip_validator); /* ui->lineEditAddres->setInputMask("000.000.000.000"); QRegExp rx( "( |[0-9] | [0-9] | [0-9]|[0-9][0-9] | [0-9][0-9]|[0-1][0-9][0-9]|2[0-4][0-9]|25[0-5])." "( |[0-9] | [0-9] | [0-9]|[0-9][0-9] | [0-9][0-9]|[0-1][0-9][0-9]|2[0-4][0-9]|25[0-5])." "( |[0-9] | [0-9] | [0-9]|[0-9][0-9] | [0-9][0-9]|[0-1][0-9][0-9]|2[0-4][0-9]|25[0-5])." "( |[0-9] | [0-9] | [0-9]|[0-9][0-9] | [0-9][0-9]|[0-1][0-9][0-9]|2[0-4][0-9]|25[0-5])"); QRegExpValidator *validator = new QRegExpValidator(QRegExp(rx), ui->lineEditAddres); ui->lineEditAddres->setValidator(validator); */ connect(this->modbus,SIGNAL(stateRecive (Set)), ui->widget1,SLOT(setState(Set))); connect(modbus,SIGNAL(stateRecive (Set)), ui->widget2,SLOT(setState(Set))); connect(modbus,SIGNAL(stateRecive (Set)), ui->widget3,SLOT(setState(Set))); connect(modbus,SIGNAL(stateRecive (Set)), ui->widget4,SLOT(setState(Set))); connect(modbus,SIGNAL(sensRecive(Set)), ui->widget1,SLOT(setSens(Set))); connect(modbus,SIGNAL(sensRecive(Set)), ui->widget2,SLOT(setSens(Set))); connect(modbus,SIGNAL(sensRecive(Set)), ui->widget3,SLOT(setSens(Set))); connect(modbus,SIGNAL(sensRecive(Set)), ui->widget4,SLOT(setSens(Set))); connect(ui->widget1,SIGNAL(ReadyToSend(Set, typeREQ)), modbus,SLOT(set(Set,typeREQ))); connect(ui->widget2,SIGNAL(ReadyToSend(Set, typeREQ)), modbus,SLOT(set(Set,typeREQ))); connect(ui->widget3,SIGNAL(ReadyToSend(Set, typeREQ)), modbus,SLOT(set(Set,typeREQ))); connect(ui->widget4,SIGNAL(ReadyToSend(Set, typeREQ)), modbus,SLOT(set(Set,typeREQ))); connect(this->modbus,SIGNAL(stateRecive (Set)), ui->widgetS1,SLOT(setState(Set))); connect(modbus,SIGNAL(stateRecive (Set)), ui->widgetS2,SLOT(setState(Set))); connect(modbus,SIGNAL(stateRecive (Set)), ui->widgetS3,SLOT(setState(Set))); connect(modbus,SIGNAL(stateRecive (Set)), ui->widgetS4,SLOT(setState(Set))); connect(modbus,SIGNAL(sensRecive(Set)), ui->widgetS1,SLOT(setSens(Set))); connect(modbus,SIGNAL(sensRecive(Set)), ui->widgetS2,SLOT(setSens(Set))); connect(modbus,SIGNAL(sensRecive(Set)), ui->widgetS3,SLOT(setSens(Set))); connect(modbus,SIGNAL(sensRecive(Set)), ui->widgetS4,SLOT(setSens(Set))); connect(ui->widgetS1,SIGNAL(ReadyToSend(Set, typeREQ)), modbus,SLOT(set(Set,typeREQ))); connect(ui->widgetS2,SIGNAL(ReadyToSend(Set, typeREQ)), modbus,SLOT(set(Set,typeREQ))); connect(ui->widgetS3,SIGNAL(ReadyToSend(Set, typeREQ)), modbus,SLOT(set(Set,typeREQ))); connect(ui->widgetS4,SIGNAL(ReadyToSend(Set, typeREQ)), modbus,SLOT(set(Set,typeREQ))); } MainWindow::~MainWindow() { // qDebug()<lineEditAddres->text(); conf->setValue("section1/keyCurrentIp",ui->lineEditAddres->text()); // qDebug()<<"Значение в памяти"<value("section1/keyCurrentIp").toString(); delete ui; } void MainWindow::on_pushButtonConnect_clicked() { if(isConnected==0){ modbus->connectTo(ui->lineEditAddres->text(),ui->lineEditPort->text().toInt()); ui->lineEditAddres->setEnabled(0); //ui->lineEditPort->setEnabled(0); ui->pushButtonConnect->setText("Отключиться"); ui->pushButtonSettings->setEnabled(0); isConnected=1; }else{ modbus->disconnectFrom(); ui->lineEditAddres->setEnabled(1); // ui->lineEditPort->setEnabled(1); ui->widget1->hideValue(); ui->widget2->hideValue(); ui->widget3->hideValue(); ui->widget4->hideValue(); ui->widgetS1->hideValue(); ui->widgetS2->hideValue(); ui->widgetS3->hideValue(); ui->widgetS4->hideValue(); ui->pushButtonConnect->setText("Подключиться"); ui->pushButtonSettings->setEnabled(1); isConnected=0; } } void MainWindow::on_pushButtonSettings_clicked() { ipSettings *w2 = new ipSettings(this, ui->lineEditAddres->text(),modbus); w2->exec(); }