Russian Qt Forum
Сентябрь 30, 2024, 14:36 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: QDialog доступ у элементам ui после завершения диалога. Как?  (Прочитано 2914 раз)
smartchecker
Гость
« : Май 18, 2012, 12:13 »

Создаётся диалог, на котором есть некоторое кол-во LineEdit'ов
Код
C++ (Qt)
   AuthorAddDialog *pAuthorAddDialog = new AuthorAddDialog(this);
 
   if (pAuthorAddDialog->exec() == QDialog::Accepted) {
       // вот здесь хочу достать эти LineEdit'ы
       qDebug() << pAuthorAddDialog->ui->fNameLineEdit->text();
   }
 
   delete pAuthorAddDialog;
 
на строчку с qDebug() ругается при компиляции.
Как?
Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #1 : Май 18, 2012, 12:16 »

Мы не такие smart-овые как ты, чтобы знать что такое AuthorAddDialog?
Записан

Qt 5.11/4.8.7 (X11/Win)
madRoger
Гость
« Ответ #2 : Май 18, 2012, 12:18 »

ui в диалоге лежит в секции private и использовать его вне диалога нельзя

Либо сделать его public (не рекомендую), либо в переопределенном методе accept диалога public переменной присваивать ui->fNameLineEdit->text() и обращаться к этой переменной.
« Последнее редактирование: Май 18, 2012, 12:26 от madRoger » Записан
mutineer
Гость
« Ответ #3 : Май 18, 2012, 12:19 »

на строчку с qDebug() ругается при компиляции.
Как?

Если ты диалог генерировал через дизайнер и ui это сгенерированный им член класса, то он находится в protected/private секции. Выводы делай соответствующие
Записан
smartchecker
Гость
« Ответ #4 : Май 18, 2012, 12:45 »

Да, всё осознал.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.067 секунд. Запросов: 22.