crossplatform.ru

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

2 страниц V   1 2 >  
Ответить в данную темуНачать новую тему
> Проверка логин плюс пароль
tasmdevil
  опции профиля:
сообщение 16.8.2010, 15:22
Сообщение #1


Студент
*

Группа: Новичок
Сообщений: 11
Регистрация: 16.8.2010
Пользователь №: 1969

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




Репутация:   0  


Подскажите пожалуйста новичку как организовать диалог проверки пользователя перед стартом основного окна.
Пока нашел только это

MainWindow w;
password pas;
if (pas.exec() == QDialog::Accepted){

w.show();

}
но это не совсем то.... раньше писал на delphi там было showmodal, а в диалоге если прошел проверку то modalresult и закрыть окно....
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Алексей1153
  опции профиля:
сообщение 16.8.2010, 16:36
Сообщение #2


фрилансер
******

Группа: Участник
Сообщений: 2939
Регистрация: 19.6.2010
Из: Обливион
Пользователь №: 1822

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




Репутация:   34  


 QApplication a(argc, argv);
password pas;
if (pas.exec() == QDialog::Accepted)
{
    if(pas.WasAutorized())
    {
                      MainWindow w;
                      w.show();
                      return a.exec();
    }
    else
    {
        //ухады, шпиён!
    }
}


Сообщение отредактировал Алексей1153 - 16.8.2010, 20:20
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
tasmdevil
  опции профиля:
сообщение 16.8.2010, 18:02
Сообщение #3


Студент
*

Группа: Новичок
Сообщений: 11
Регистрация: 16.8.2010
Пользователь №: 1969

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




Репутация:   0  


Спасибо попробую. А WasAutorized() я так понимаю функция проверки которая вызавается при нажатии кнопки OR.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Алексей1153
  опции профиля:
сообщение 16.8.2010, 18:19
Сообщение #4


фрилансер
******

Группа: Участник
Сообщений: 2939
Регистрация: 19.6.2010
Из: Обливион
Пользователь №: 1822

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




Репутация:   34  


WasAutorized() возвращает член класса
bool m_bWasRightPassword;

а этот флаг, в свою очередь, должен установиться/сброситься в обработчике сигнала void QDialog::accepted () - в самом классе диалога
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
tasmdevil
  опции профиля:
сообщение 16.8.2010, 19:04
Сообщение #5


Студент
*

Группа: Новичок
Сообщений: 11
Регистрация: 16.8.2010
Пользователь №: 1969

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




Репутация:   0  


Цитата(Алексей1153 @ 16.8.2010, 19:19) *
WasAutorized() возвращает член класса
bool m_bWasRightPassword;

а этот флаг, в свою очередь, должен установиться/сброситься в обработчике сигнала void QDialog::accepted () - в самом классе диалога


Мда... :blink: спасиюо еще раз, буду разбираться.....
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kibsoft
  опции профиля:
сообщение 16.8.2010, 20:13
Сообщение #6


Участник
**

Группа: Участник
Сообщений: 180
Регистрация: 21.7.2009
Из: Самара
Пользователь №: 928

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




Репутация:   2  


Ммм..так не будет же работать..Объект приложения надо создать сначала же, чтобы диалог pas показался..

Так примерно:
QApplication a(argc, argv);
password pas;
MainWindow w;
if (pas.exec() == QDialog::Accepted)
{
    if(pas.WasAutorized())
    {
        w.show();  
    }
    else
    {
        //ухады, шпиён!
    }
}
return a.exec();


Хотя тут зря создается MainWindow..т.к. если пароль не тот и окно не покажется, то соответственно объект окна создан без пользы. Поэтому можешь юзать размещение в динамической память (оператор new).

Сообщение отредактировал kibsoft - 16.8.2010, 20:15
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Алексей1153
  опции профиля:
сообщение 16.8.2010, 20:19
Сообщение #7


фрилансер
******

Группа: Участник
Сообщений: 2939
Регистрация: 19.6.2010
Из: Обливион
Пользователь №: 1822

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




Репутация:   34  


kibsoft, да, я не отлаживал .

Цитата(kibsoft @ 16.8.2010, 23:13) *
Хотя тут зря создается MainWindow..т.к. если пароль не тот и окно не покажется, то соответственно объект окна создан без пользы. Поэтому можешь юзать размещение в динамической память (оператор new).


а это как раз и решается вот так

if(pas.WasAutorized())
    {
//                      QApplication a(argc, argv);
                      MainWindow w;
                      w.show();
                      return a.exec();
    }
    else



я подправил предыдущий свой пост (#2)

Сообщение отредактировал Алексей1153 - 16.8.2010, 20:19
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
tasmdevil
  опции профиля:
сообщение 16.8.2010, 20:28
Сообщение #8


Студент
*

Группа: Новичок
Сообщений: 11
Регистрация: 16.8.2010
Пользователь №: 1969

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




Репутация:   0  


Цитата(Алексей1153 @ 16.8.2010, 21:19) *
kibsoft, да, я не отлаживал .

Цитата(kibsoft @ 16.8.2010, 23:13) *
Хотя тут зря создается MainWindow..т.к. если пароль не тот и окно не покажется, то соответственно объект окна создан без пользы. Поэтому можешь юзать размещение в динамической память (оператор new).


а это как раз и решается вот так

if(pas.WasAutorized())
    {
//                      QApplication a(argc, argv);
                      MainWindow w;
                      w.show();
                      return a.exec();
    }
    else



я подправил предыдущий свой пост (#2)


ага до этого я экпериментальным путем дошел


Цитата(Алексей1153 @ 16.8.2010, 19:19) *
WasAutorized() возвращает член класса
bool m_bWasRightPassword;

а этот флаг, в свою очередь, должен установиться/сброситься в обработчике сигнала void QDialog::accepted () - в самом классе диалога


А вот разжуйте для чайника если можно
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Алексей1153
  опции профиля:
сообщение 16.8.2010, 20:37
Сообщение #9


фрилансер
******

Группа: Участник
Сообщений: 2939
Регистрация: 19.6.2010
Из: Обливион
Пользователь №: 1822

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




Репутация:   34  


Цитата(tasmdevil @ 16.8.2010, 23:28) *
А вот разжуйте для чайника если можно


дык... всё вроде уже написано )
А ты покажи код, где реагируешь в диалоге ввода пароля на нажатие кнопки ОК. Там и )
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kibsoft
  опции профиля:
сообщение 16.8.2010, 20:43
Сообщение #10


Участник
**

Группа: Участник
Сообщений: 180
Регистрация: 21.7.2009
Из: Самара
Пользователь №: 928

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




Репутация:   2  


Цитата
А вот разжуйте для чайника если можно

Проверяешь при нажатии OK пароль и логин, дальше если они правильные, то в m_bWasRightPassword ставишь true, а WasAutorized() как раз возвращает эту переменную.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

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


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




RSS Текстовая версия Сейчас: 20.4.2024, 4:17