crossplatform.ru

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

7 страниц V  < 1 2 3 4 5 > »   
Ответить в данную темуНачать новую тему
> Передача данных от одной формы другой
BRE
  опции профиля:
сообщение 8.4.2010, 19:43
Сообщение #21


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

Группа: Участник
Сообщений: 1112
Регистрация: 6.3.2009
Из: Ростов-на-Дону
Пользователь №: 591

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




Репутация:   44  


А точно в файле ui_dialog_login.h класс называется login?
С учетом регистра и т.д.?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
PunX
  опции профиля:
сообщение 8.4.2010, 19:50
Сообщение #22


Студент
*

Группа: Участник
Сообщений: 56
Регистрация: 12.4.2009
Из: Димитровград
Пользователь №: 676

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




Репутация:   0  


Спасибо нашёл ошибку) надо было имя класса поменять на Dialog.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 8.4.2010, 19:53
Сообщение #23


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

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




Репутация:   94  


Цитата(PunX @ 8.4.2010, 23:04) *
:QDialog(parent), li(new Li::MyForm())
в конструктор MyForm наверняка надо передать this и не удалять его руками в последствии
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
PunX
  опции профиля:
сообщение 8.4.2010, 20:03
Сообщение #24


Студент
*

Группа: Участник
Сообщений: 56
Регистрация: 12.4.2009
Из: Димитровград
Пользователь №: 676

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




Репутация:   0  


Сейчас формы вызываются, всё вроде работает. Перечитал все соообщения в теме сначала, но не понял как теперь связать эти две формы? как сделать чтобы при удачном завершении формы входа, открывалось основное окно? (Подозреваю что всё это делается с помощью slot-ов?)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
PunX
  опции профиля:
сообщение 8.4.2010, 22:09
Сообщение #25


Студент
*

Группа: Участник
Сообщений: 56
Регистрация: 12.4.2009
Из: Димитровград
Пользователь №: 676

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




Репутация:   0  


Поставлю вопрос по другому, можно ли сделать так чтобы сначала запускалось окно входа (логин), при получении данных с него, открывалось главное окно, а окно логина закрывалось?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 8.4.2010, 22:10
Сообщение #26


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

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




Репутация:   94  


Цитата(PunX @ 9.4.2010, 0:03) *
Подозреваю что всё это делается с помощью slot-ов?
нет. Я приводил пример в сообщении №13

Цитата(PunX @ 9.4.2010, 2:09) *
так чтобы сначала запускалось окно входа (логин), при получении данных с него, открывалось главное окно, а окно логина закрывалось?
тогда вызывай диалог до создания главного окна
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
PunX
  опции профиля:
сообщение 8.4.2010, 22:17
Сообщение #27


Студент
*

Группа: Участник
Сообщений: 56
Регистрация: 12.4.2009
Из: Димитровград
Пользователь №: 676

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




Репутация:   0  


Извините может за глупые вопросы, могли бы вы привести пример как вызвать диалог для создания главного окна?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 9.4.2010, 7:06
Сообщение #28


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

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




Репутация:   94  


Цитата(PunX @ 9.4.2010, 2:17) *
как вызвать диалог для создания главного окна?
в функции main.
int main(int argc, char *argv[])
{

    QApplication app(argc, argv);
    
    QString login, password;
    const QString LOGIN = "mylogin", PASSWORD = "mypassword";
    {
        MyDialog dialog(this);
        if (dialog.exec() == QDialog::Rejected)
            return 1;
        if (dialog.login() != LOGIN) || (dialog.password() != PASSWORD)
            return 1;
    }
    MainWindow w;

    w.resize(750, 550);
    w.show();

    return app.exec();
}
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
PunX
  опции профиля:
сообщение 11.4.2010, 18:52
Сообщение #29


Студент
*

Группа: Участник
Сообщений: 56
Регистрация: 12.4.2009
Из: Димитровград
Пользователь №: 676

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




Репутация:   0  


Всё прекрасно работает и окно входа и потом запускается главное окно, НО появилась такая потребность получить в главное окно логин пользователя который был введён в окне входа. Способ из 13 сообщения этой темы не подходит, т.к. диалоговое окно входа (где вводится логин и пароль) вызывается в main.cpp и получить данные в других модулях не получается.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
BRE
  опции профиля:
сообщение 11.4.2010, 18:56
Сообщение #30


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

Группа: Участник
Сообщений: 1112
Регистрация: 6.3.2009
Из: Ростов-на-Дону
Пользователь №: 591

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




Репутация:   44  


Можно передать их в конструкторе MainWindow:
int main(int argc, char *argv[])
{

    QApplication app(argc, argv);
    
    QString login, password;
    const QString LOGIN = "mylogin", PASSWORD = "mypassword";
    {
        MyDialog dialog(this);
        if (dialog.exec() == QDialog::Rejected)
            return 1;
        if (dialog.login() != LOGIN) || (dialog.password() != PASSWORD)
            return 1;
    }
    MainWindow w( login, password );

    w.resize(750, 550);
    w.show();

    return app.exec();
}
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

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


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




RSS Текстовая версия Сейчас: 28.12.2024, 18:41