#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(532,447); ui->lineEditPort->setEnabled(0); ui->widget1->setWindowsChannel(Ch1); ui->widget2->setWindowsChannel(Ch2); ui->widget3->setWindowsChannel(Ch3); ui->widget4->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"); } QRegExp ip_regexp("[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}"); QRegExpValidator *ip_validator = new QRegExpValidator(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))); } 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->pushButtonConnect->setText("Подключиться"); ui->pushButtonSettings->setEnabled(1); isConnected=0; } } void MainWindow::on_pushButtonSettings_clicked() { ipSettings *w2 = new ipSettings(this, ui->lineEditAddres->text(),modbus); w2->exec(); }