This commit is contained in:
2025-07-04 03:11:12 +07:00
parent 55759defd7
commit 73243f8c7a
3 changed files with 32 additions and 33 deletions

View File

@@ -13,7 +13,7 @@ int main(int argc, char *argv[]) {
qDebug() << QApplication::style();
auto *window = new Mainwindows();
auto *window = new MainWindows();
window->show();
//window->init();
QApplication::exec();

View File

@@ -26,7 +26,7 @@ void ColoredSquare::paintEvent(QPaintEvent *) {
painter.fillRect(rect(), m_color);
}
Mainwindows::Mainwindows(QWidget *parent)
MainWindows::MainWindows(QWidget *parent)
: QWidget(parent), m_modbusClient(nullptr), m_connected(false),
m_requestCounter(0), m_responseCounter(0) {
@@ -42,7 +42,7 @@ Mainwindows::Mainwindows(QWidget *parent)
initModbusConnection();
}
void Mainwindows::loadConfiguration() {
void MainWindows::loadConfiguration() {
const QString filePath = QCoreApplication::applicationDirPath() + "/config.ini";
QSettings settings(filePath, QSettings::IniFormat);
@@ -116,7 +116,7 @@ void Mainwindows::loadConfiguration() {
settings.endGroup();
}
void Mainwindows::initModbusConnection() {
void MainWindows::initModbusConnection() {
m_modbusClient = new QModbusTcpClient(this);
// Set timeouts
@@ -126,15 +126,15 @@ void Mainwindows::initModbusConnection() {
m_modbusClient->setNumberOfRetries(1);
connect(m_modbusClient, &QModbusClient::stateChanged,
this, &Mainwindows::onStateChanged);
this, &MainWindows::onStateChanged);
// Initialize poll timer
m_pollTimer = new QTimer(this);
m_pollTimer->setInterval(m_pollInterval);
connect(m_pollTimer, &QTimer::timeout, this, &Mainwindows::onPollTimer);
connect(m_pollTimer, &QTimer::timeout, this, &MainWindows::onPollTimer);
}
void Mainwindows::onStateChanged(QModbusDevice::State state) {
void MainWindows::onStateChanged(QModbusDevice::State state) {
if (state == QModbusDevice::ConnectedState) {
m_connected = true;
m_connectButton->setText("Disconnect");
@@ -151,7 +151,7 @@ void Mainwindows::onStateChanged(QModbusDevice::State state) {
}
}
void Mainwindows::onConnectButtonClicked() {
void MainWindows::onConnectButtonClicked() {
if (!m_connected) {
if (!m_modbusClient->connectDevice()) {
QMessageBox::critical(this, tr("Connection Error"),
@@ -170,13 +170,13 @@ void Mainwindows::onConnectButtonClicked() {
}
}
void Mainwindows::onPollTimer() {
void MainWindows::onPollTimer() {
if (m_connected) {
readRegisters();
}
}
void Mainwindows::readRegisters() {
void MainWindows::readRegisters() {
if (!m_connected) return;
// Увеличиваем счетчик запросов
@@ -189,7 +189,7 @@ void Mainwindows::readRegisters() {
QModbusDataUnit readUnit(QModbusDataUnit::HoldingRegisters, m_indicatorRegisters[i], 1);
if (auto *reply = m_modbusClient->sendReadRequest(readUnit, 1)) {
if (!reply->isFinished()) {
connect(reply, &QModbusReply::finished, this, &Mainwindows::onReadReady);
connect(reply, &QModbusReply::finished, this, &MainWindows::onReadReady);
} else {
delete reply;
}
@@ -203,7 +203,7 @@ void Mainwindows::readRegisters() {
QModbusDataUnit readUnit(QModbusDataUnit::HoldingRegisters, m_buttonRegisters[i], 1);
if (auto *reply = m_modbusClient->sendReadRequest(readUnit, 1)) {
if (!reply->isFinished()) {
connect(reply, &QModbusReply::finished, this, &Mainwindows::onReadReady);
connect(reply, &QModbusReply::finished, this, &MainWindows::onReadReady);
} else {
delete reply;
}
@@ -212,7 +212,7 @@ void Mainwindows::readRegisters() {
}
}
void Mainwindows::onReadReady() {
void MainWindows::onReadReady() {
auto reply = qobject_cast<QModbusReply *>(sender());
if (!reply) return;
@@ -260,7 +260,7 @@ void Mainwindows::onReadReady() {
reply->deleteLater();
}
void Mainwindows::createUIElements() {
void MainWindows::createUIElements() {
auto* mainLayout = new QVBoxLayout(this);
// Добавляем статусную строку
@@ -270,7 +270,7 @@ void Mainwindows::createUIElements() {
// Add connect button at the top
m_connectButton = new QPushButton("Connect", this);
connect(m_connectButton, &QPushButton::clicked, this, &Mainwindows::onConnectButtonClicked);
connect(m_connectButton, &QPushButton::clicked, this, &MainWindows::onConnectButtonClicked);
mainLayout->addWidget(m_connectButton);
// Create table with maximum of buttons or indicators
@@ -340,7 +340,7 @@ void Mainwindows::createUIElements() {
m_table->horizontalHeader()->setSectionResizeMode(1, QHeaderView::Fixed);
m_table->horizontalHeader()->setSectionResizeMode(2, QHeaderView::Fixed);
m_table->horizontalHeader()->setSectionResizeMode(3, QHeaderView::Fixed);
m_table->setColumnWidth(0, 150); // Label column
m_table->setColumnWidth(0, 180); // Label column
m_table->setColumnWidth(1, 100); // Button column
m_table->setColumnWidth(2, 50); // Square column
m_table->setColumnWidth(3, 100); // Status text column
@@ -357,7 +357,7 @@ void Mainwindows::createUIElements() {
setFixedSize(totalWidth, totalHeight);
}
void Mainwindows::updateStatusBar() {
void MainWindows::updateStatusBar() {
QString status = QString("IP: %1 Port: %2 | Requests: %3 Responses: %4")
.arg(m_ipAddress)
.arg(m_port)
@@ -366,7 +366,7 @@ void Mainwindows::updateStatusBar() {
m_statusLabel->setText(status);
}
Mainwindows::~Mainwindows() {
MainWindows::~MainWindows() {
if (m_pollTimer) {
m_pollTimer->stop();
}