crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> Переменные
Dimix
  опции профиля:
сообщение 14.1.2011, 6:43
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 74
Регистрация: 24.11.2010
Пользователь №: 2215

Спасибо сказали: 0 раз(а)




Репутация:   0  


Создал GUI приложение Qt с названием login
Создал Класс формы Qt Desinger с названием in
В login есть переменные типа QString
Пытаюсь присвоить данные полученные в QString форме in Но QString у меня почемуто ничего не содержит
Debug показывает что QString данные получает а когда пытается передать он очищается.
Как решить эту проблемку?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
Dimix
  опции профиля:
сообщение 14.1.2011, 14:58
Сообщение #2


Студент
*

Группа: Участник
Сообщений: 74
Регистрация: 24.11.2010
Пользователь №: 2215

Спасибо сказали: 0 раз(а)




Репутация:   0  


Смотреть getUserData();
Раскрывающийся текст
#include "loginwin.h"
#include "ui_loginwin.h"
#include "passwordwin.h"
#include "ui_passwordwin.h"

#include "create.h"
#include "ui_create.h"

loginWin::loginWin(QWidget *parent) :
QDialog(parent),
ui(new Ui::loginWin)
{
ui->setupUi(this);
loadUser();

warningError="Ошибка";
criticalError="Критическая ошибка";
userErrorConnection="Ошибка осуществления соединения с пользовательской базой данных";
userNotFiledb="Ошибка файл пользовательской базы данных не найден";
mainErrorConnection="Ошибка осуществления соединения с главной базой данных";
mainNotFiledb="Ошибка файл главной базы данных не найден";
getUserData();
}

loginWin::~loginWin()
{
delete ui;
}
void loginWin::getUserData()
{
QFile file;
if(file.exists("bin\\"+ui->cboAccount->itemText(ui->cboAccount->currentIndex()))){
if(file.exists("profile\\account")){
QSqlDatabase maindb = QSqlDatabase::addDatabase("QSQLITE");
maindb.setHostName("localhost");
maindb.setDatabaseName("profile\\account");
if(!maindb.open("user", "password")){
maindb.lastError().text();
QSqlDatabase::removeDatabase("QSQLITE");
QMessageBox::warning(this, warningError, mainErrorConnection);
}else{
QSqlQueryModel model;
model.setQuery("SELECT * FROM user WHERE name = '"+ui->cboAccount->itemText(ui->cboAccount->currentIndex())+"';");
for(int i = 0; i < model.rowCount(); ++i){
userCurrency=model.record(i).value("currency").toString();
userName=model.record(i).value("name").toString();
userPassword=model.record(i).value("password").toString();
userPass=model.record(i).value("pass").toString();
userPin=model.record(i).value("pin").toString();
userSound=model.record(i).value("sound").toString();
}
model.clear();
maindb.close();
QSqlDatabase::removeDatabase("QSQLITE");
};
}else{
QMessageBox::critical(this, criticalError, mainNotFiledb);
};
}else{
QMessageBox::critical(this, criticalError, userNotFiledb);
};
}
void loginWin::on_cboAccount_currentIndexChanged(QString )
{
getUserData();
}
void loginWin::on_buttonLogin_clicked()
{
if(ui->cboAccount->currentIndex()==0){
QMessageBox::warning(this, warningError, tr("Вы не выбрали учетную запись"));
}else{
PasswordWin* paq = new PasswordWin;
paq->show();

close();
};
}
Раскрывающийся текст
#include "passwordwin.h"
#include "ui_passwordwin.h"
#include "loginwin.h"
#include "ui_loginwin.h"

PasswordWin::PasswordWin(QWidget *parent) :
QDialog(parent),
ui(new Ui::PasswordWin)
{
ui->setupUi(this);
loginWin* log = new loginWin;
ui->labelMore->setText(tr("<b><center>Для доступа к учетной записи")+log->userName+tr("</center></b>"));//возникшая проблема здесь
}
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


5 чел. читают эту тему (гостей: 5, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 18.9.2024, 16:10