Переменные |
Здравствуйте, гость ( Вход | Регистрация )
Переменные |
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>"));//возникшая проблема здесь } |
|
|
Текстовая версия | Сейчас: 18.9.2024, 16:10 |