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

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

Страниц: 1 [2]   Вниз
  Печать  
Автор Тема: Как узнать свойства (текст) элемента находящегося в другом окне?  (Прочитано 9540 раз)
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #15 : Ноябрь 25, 2009, 18:07 »

Можете кто нибуть обьяснить по буквам эту строчку?
Код:
FDialog(const QString &parentName, QDialog *parent = 0) : QDialog(parent), mParentName(parentName)

Это конструктор класса FDialog, принимает 2 аргумента. Первый - ссылка на строку, второй указатель на родителя. "= 0" означает что вызывающий может указать парента а может и нет, в этом случае парент полагается = 0.

Где и как указать родителя?
...
Код
C++ (Qt)
   QString names = FMain::trWd_tree->currentItem()->text(0);
   FDialog *nFDialog = new FDialog(names, 0);
}
 
Здесь
Код:
    FDialog *nFDialog = new FDialog(names, this);
Записан
Alchazar
Гость
« Ответ #16 : Ноябрь 25, 2009, 19:12 »

То есть родитель в данном примере - this. А this это, если я правильно понял - FDialog?
new FDialog(names, this);
Как тогда сделать родителем главную форму? И можно ли так делать?
И ещё вопрос, new FDialog(names, this) указываются два параметра. Как можно узнать значение первого параметра внутри диалога?
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #17 : Ноябрь 25, 2009, 19:40 »

То есть родитель в данном примере - this. А this это, если я правильно понял - FDialog?
new FDialog(names, this);
Как тогда сделать родителем главную форму? И можно ли так делать?
И ещё вопрос, new FDialog(names, this) указываются два параметра. Как можно узнать значение первого параметра внутри диалога?

1) this - это указатель на сам объект внутри любой не-статической его ф-ции. Например

Код:
void FMain::showEditWindow()
{
    QString names = FMain::trWd_tree->currentItem()->text(0);
    FDialog *nFDialog = new FDialog(names, this);
Внутри showEditWindow - значит this указывает на главную форму которая имеет тип FMain. Внутри FDialog this будет указывать на объект типа  FDialog  - например nFDialog

2) parentName был подан в конструкторе и сохранен в члене класса mParentName - просто используйте mParentName в любой ф-ции FDialog
Записан
Страниц: 1 [2]   Вверх
  Печать  
 
Перейти в:  


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