Инициализация переменной в функции

216
11 июня 2017, 18:30

Всем привет. У меня есть класс для авторизации пользователя, в котором находится переменная int id пользователя. Мне надо использовать ее в другом классе, я получаю ее по указателю и все хорошо работает. Проблема в том, что инициализировать эту переменную мне надо в функции, которая вызывается при нажатии на кнопку входа при заполненных полях логина и пароля. Т.е все происходит так: Данные-с-полей--->кнопка-ВХОД--->получение-строки-из-БД-по-введенному-логину--->инициализация-id. Каким образом можно передать это значение в другой класс по указателю?

    // login_form.cpp
Login_Form::Login_Form(...) 
...
{
    ...
    DataBaseConnection(); 
    connect(ui->login_enter, SIGNAL (released()), this, SLOT (ifLoginCorrect()));
   Если задать user_id здесь, то все норм
   // user_id = 7771;
}
// но нужно брать значение отсюда
void Login_Form::ifLoginCorrect() {
    login_value = ui->login_field->text(); 
    pswd_value = ui->password_field->text();
    ...
    //Здесь получаю переменную user_id
     current_query.exec("SELECT id FROM students WHERE login=\'" + login_value + "\'");
     while(current_query.next()) {
         QString u_id = current_query.value(0).toString();
         user_id = u_id.toInt();
         qDebug() << "LOGIN User id is: " << user_id << endl;
     }
}
// login_form.h
...
public:
    int *user_id_ptr = &user_id;
...
private:
    int user_id = 0;
// второй класс
// user_window.cpp
#include "user_window.h"
#include "ui_user_window.h"
#include <login_form.h>

User_Window::User_Window(QWidget *parent) :
    QDialog(parent),
    ui(new Ui::User_Window)
{
    .....
        connect(op_button, SIGNAL (released()), this, SLOT (ifSubjectDone()));
    }
void User_Window::ifSubjectDone() {
    ......
    c2 = new Login_Form();
    ptr = c2->user_id_ptr;
    qDebug() << "Now user ID: " << *ptr << endl;
}
// user_window.h
private slots:
    void ifSubjectDone();
private:
    Login_Form* c2;
    int *ptr;
READ ALSO
Изменить класс white на black в &ldquo;select&rdquo; js или jquery

Изменить класс white на black в “select” js или jquery

Есть select с 2 значениями white и black

275
Парсинг строки таблицы &lt;tr&gt;

Парсинг строки таблицы <tr>

Доброго времени суток! Есть некая таблица 4x4, необходимо выбрать строку и разбить столбцы, выбранной строки(выбранной строке присваивается...

327
Создать dql запрос к базе

Создать dql запрос к базе

Как можно создать dql запрос к базе в SonataAdminУ меня есть mySQL запрос, его нужно перевести в dql, или как-то заюзать его в таком формате, но я не знаю...

181