model->setEditStrategy(QSqlTableModel::OnFieldChange);
model->select();
model->setHeaderData(0, Qt::Horizontal, QObject::trUtf8("№"));
model->setHeaderData(1, Qt::Horizontal, QObject::trUtf8("Параметр"));
model->setHeaderData(2, Qt::Horizontal, QObject::trUtf8("Размерность"));
view = ui->tableView;
view->setModel(model);
view->setAlternatingRowColors(true); // Подсветка строк разными цветами
view->resizeRowsToContents();
view->resizeColumnsToContents();
view->setSortingEnabled(true); // Сортировка таблицы
view->sortByColumn(0,Qt::AscendingOrder); // Порядок сортировки по умолчанию
}
Parametry::~Parametry()
{
delete ui;
}
void Parametry::on_btnSaveExit_clicked()
{
close();
}
void Parametry::on_btnInsert_clicked()
{
QString Parameter, Razmernost;
Parameter = ui->txtPar->text();
Razmernost = ui->txtRaz->text();
QSqlQuery qry;
qry.prepare("INSERT INTO PARAMETER (parameterName,parameterDimension) VALUES ('"+Parameter+"','"+Razmernost+"')");
if (ui->txtPar->text() == "" || ui->txtRaz->text() == "")
{
QMessageBox::warning(this, "Ошибка!",
"Вы не заполнили одно из полей, перепроверьте информацию.");
return;
}
else
{
if(qry.exec())
{
QMessageBox::critical(this,tr("Сохранение"),tr("Запись сохранена."));
model->select();
}
else
{
QMessageBox::critical(this,tr("Ошибка!"),qry.lastError().text());
}
}
ui->txtPar->setText("");
ui->txtRaz->setText("");
}
void Parametry::on_btnDelete_clicked()
{
QMessageBox::StandardButton stButtonYes;
stButtonYes = QMessageBox::question(this, "Подтверждение удаления",
"Вы действительно хотите удалить строку?",
QMessageBox::Yes | QMessageBox::No);
if(stButtonYes == QMessageBox::Yes)
{
model->removeRow(ui->tableView->currentIndex().row());
model->select();
}
}
polzovateli.cpp
#include "polzovateli.h"
#include "ui_polzovateli.h"
Polzovateli::Polzovateli(QWidget *parent) :
QDialog(parent),
ui(new Ui::Polzovateli)
{
ui->setupUi(this);
model = new QSqlTableModel(0,db);
model->setTable("USER");
model->setEditStrategy(QSqlTableModel::OnFieldChange);
model->select();
model->setHeaderData(0, Qt::Horizontal, QObject::trUtf8("№"));
model->setHeaderData(1, Qt::Horizontal, QObject::trUtf8("Логин"));
model->setHeaderData(2, Qt::Horizontal, QObject::trUtf8("Пароль"));
model->setHeaderData(3, Qt::Horizontal, QObject::trUtf8("Роль"));
view = ui->tableView;
view->setModel(model);
view->setAlternatingRowColors(true); // Подсветка строк разными цветами
view->resizeRowsToContents();
view->resizeColumnsToContents();
view->setSortingEnabled(true); // Сортировка таблицы
view->sortByColumn(0,Qt::AscendingOrder); // Порядок сортировки по умолчанию
}
Polzovateli::~Polzovateli()
{
delete ui;
}
void Polzovateli::on_btnInsert_clicked()
{
QString Username, Password, Role;
Username = ui->txtUser->text();
Password = ui->txtPass->text();
Role = ui->txtRole->text();
QSqlQuery qry;
qry.prepare("INSERT INTO USERS (userUsername,userPassword,userRole) VALUES ('"+Username+"','"+Password+"','"+Role+"')");
if (ui->txtUser->text() == "" || ui->txtPass->text() == "" || ui->txtRole->text() == "")
{
QMessageBox::warning(this, "Ошибка!",
"Вы не заполнили одно из полей, перепроверьте информацию.");
return;
}
else
{
if(qry.exec())
{
QMessageBox::critical(this,tr("Сохранение"),tr("Запись сохранена."));
model->select();
}
else
{
QMessageBox::critical(this,tr("Ошибка!"),qry.lastError().text());
}
}
ui->txtUser->setText("");
ui->txtPass->setText("");
ui->txtRole->setText("");
}
void Polzovateli::on_btnDelete_clicked()
{
// Создаем окно с выбором вариантов действий
// создаем переменную ответа
QMessageBox::StandardButton stButtonYes;
// присваиваем значение, которое выберет пользователь: "Да" или "Нет"
stButtonYes = QMessageBox::question(this, "Подтверждение удаления",
"Вы действительно хотите удалить строку?",
QMessageBox::Yes | QMessageBox::No);
// проверяем нажата ли кнопка "Yes"
if(stButtonYes == QMessageBox::Yes)
{
// если нажата, то удаляем выбранную строку
model->removeRow(ui->tableView->currentIndex().row());
// обновляем модель
model->select();
}
}
void Polzovateli::on_btnSaveExit_clicked()
{
close();
}
sostoyaniya.cpp
#include "sostoyaniya.h"
#include "ui_sostoyaniya.h"
Sostoyaniya::Sostoyaniya(QWidget *parent) :
QDialog(parent),
ui(new Ui::Sostoyaniya)
{
ui->setupUi(this);
model = new QSqlTableModel(0,db);
model->setTable("STATE");
model->setEditStrategy(QSqlTableModel::OnFieldChange);
model->select();
model->setHeaderData(0, Qt::Horizontal, QObject::trUtf8("№"));
model->setHeaderData(1, Qt::Horizontal, QObject::trUtf8("Состояние"));
model->setHeaderData(2, Qt::Horizontal, QObject::trUtf8("Мин. температура"));
model->setHeaderData(3, Qt::Horizontal, QObject::trUtf8("Макс. температура"));
model->setHeaderData(4, Qt::Horizontal, QObject::trUtf8("Мин. влажность"));
model->setHeaderData(5, Qt::Horizontal, QObject::trUtf8("Макс. влажность"));
view = ui->tableView;
view->setModel(model);
view->setAlternatingRowColors(true); // Подсветка строк разными цветами
view->resizeRowsToContents();
view->resizeColumnsToContents();
view->setSortingEnabled(true); // Сортировка таблицы
view->sortByColumn(0,Qt::AscendingOrder); // Порядок сортировки по умолчанию
}
Sostoyaniya::~Sostoyaniya()
{
delete ui;
}
void Sostoyaniya::on_btnSaveExit_clicked()
{
close();
}
void Sostoyaniya::on_btnInsert_clicked()
{
QString Sostoyanie, MinTemp, MaxTemp, MinVlag, MaxVlag;
Sostoyanie = ui->txtSostoyanie->text();
MinTemp = ui->txtMinTemp->text();
MaxTemp = ui->txtMaxTemp->text();
MinVlag = ui->txtMinVlag->text();
MaxVlag = ui->txtMaxVlag->text();
QSqlQuery qry;
qry.prepare("INSERT INTO STATES (stateName,stateTemperatureMin,stateTemperatureMax,stateHumidityMin,stateHumidityMax) VALUES ('"+Sostoyanie+"','"+MinTemp+"','"+MaxTemp+"','"+MinVlag+"','"+MaxVlag+"')");
if (ui->txtSostoyanie->text() == "" || ui->txtMinTemp->text() == "" || ui->txtMaxTemp->text() == "" || ui->txtMinVlag->text() == "" || ui->txtMaxVlag->text() == "" )
{
QMessageBox::warning(this, "Ошибка!",
"Вы не заполнили одно из полей, перепроверьте информацию.");
return;
}
else
{
if(qry.exec())
{
QMessageBox::critical(this,tr("Сохранение"),tr("Запись сохранена."));
model->select();
}
else
{
QMessageBox::critical(this,tr("Ошибка!"),qry.lastError().text());
}
}
ui->txtSostoyanie->setText("");
ui->txtMinTemp->setText("");
ui->txtMaxTemp->setText("");
ui->txtMinVlag->setText("");
ui->txtMaxVlag->setText("");
}
void Sostoyaniya::on_btnDelete_clicked()
{
QMessageBox::StandardButton stButtonYes;
stButtonYes = QMessageBox::question(this, "Подтверждение удаления",
"Вы действительно хотите удалить строку?",
QMessageBox::Yes | QMessageBox::No);
if(stButtonYes == QMessageBox::Yes)
{
model->removeRow(ui->tableView->currentIndex().row());
model->select();
}
}
spravka.cpp
#include "spravka.h"
#include "ui_spravka.h"
Spravka::Spravka(QWidget *parent) :
QDialog(parent),
ui(new Ui::Spravka)
{
ui->setupUi(this);
}
Spravka::~Spravka()
{
delete ui;
}
void Spravka::on_pushButton_clicked()
{
close();
}
spravochniki.cpp
#include "spravochniki.h"
#include "ui_spravochniki.h"
#include "polzovateli.h"
#include "parametry.h"
#include "sostoyaniya.h"
#include "objects.h"
Spravochniki::Spravochniki(QWidget *parent) :
QDialog(parent),
ui(new Ui::Spravochniki)
{
ui->setupUi(this);
}
Spravochniki::~Spravochniki()
{
delete ui;
}
void Spravochniki::on_btnBack_clicked()
{
close();
}
void Spravochniki::on_btnSpravPol_clicked()
{
Polzovateli polzovateli;
polzovateli.setModal(true);
polzovateli.exec();
}
void Spravochniki::on_btnSpravPar_clicked()
{
Parametry parametry;
parametry.setModal(true);
parametry.exec();
}
void Spravochniki::on_btnSpravSost_clicked()
{
Sostoyaniya sostoyaniya;
sostoyaniya.setModal(true);
sostoyaniya.exec();
}
void Spravochniki::on_pushButton_clicked()
{
Objects objects;
objects.setModal(true);
objects.exec();
}