В следующих файлах приведена попытка реализации диалога авторизации пользователя в базе данных:
autorization.h
#ifndef AUTORIZATION_H
#define AUTORIZATION_H
#include <QWidget>
namespace Ui {
class Autorization;
}
class Autorization : public QWidget
{
Q_OBJECT
public:
explicit Autorization(QWidget *parent = 0);
~Autorization();
private slots:
void on_autorizOK_clicked();
private:
Ui::Autorization *ui;
};
#endif // AUTORIZATION_H
autorization.cpp
#include "autorization.h"
#include "ui_autorization.h"
#include "autorization.h"
#include <QtSql/QSqlQuery>
#include <QSqlDatabase>
#include <QDebug>
#include <QSqlError>
#include "QString"
Autorization::Autorization(QWidget *parent) :
QWidget(parent),
ui(new Ui::Autorization)
{
ui->setupUi(this);
}
Autorization::~Autorization()
{
delete ui;
}
void on_autorisOK_clicked()
{
QString userName = autorizUser->text();
QString userPass = autorizPass->text();
}
В файле autorization.h указан слот для принятия сигнала от кнопки "ОК" экранной формы:
void on_autorizOK_clicked();. В файле autorization.cpp прописана функция, выполняющаяся при срабатывании слота, которая должна создавать 2 объекта QString - userName и userPass и присваивать им значения полей autorizUser и autorizPass соответственно. После этого планируется использовать переменные в качестве имени пользователя и пароля при вызове db.setUserName и db.setPassword. Но при сборке этого кода возникает 2 ошибки: autorizUser /autorizPass was not declared in this scope.
Я правильно перевожу ошибку на русский - "Переменные не объявлены в рамках процедуры"? На экранной форме имена объектов QLineEdit точно такие же как в коде cpp. Как решить эту проблему?