Всем привет. У меня есть класс для авторизации пользователя, в котором находится переменная 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;
Виртуальный выделенный сервер (VDS) становится отличным выбором
Доброго времени суток! Есть некая таблица 4x4, необходимо выбрать строку и разбить столбцы, выбранной строки(выбранной строке присваивается...
Как можно создать dql запрос к базе в SonataAdminУ меня есть mySQL запрос, его нужно перевести в dql, или как-то заюзать его в таком формате, но я не знаю...