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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Обращение к свойству класса из слота этого класса  (Прочитано 3109 раз)
qt_beginner
Гость
« : Ноябрь 04, 2011, 23:39 »

Есть некий класс "class", у класса есть свойство "property", которое задаётся в конструкторе. Соединение сигнала со слотом тоже происходит в конструкторе. Можно ли как-то обратиться к этому свойству из слота? Обращение this->property не работает
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4747



Просмотр профиля WWW
« Ответ #1 : Ноябрь 05, 2011, 00:06 »

а можно пример кода? непонятно в чем проблема - все поля класса всегда доступны из любого его метода
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
qt_beginner
Гость
« Ответ #2 : Ноябрь 05, 2011, 01:18 »

Код:
selector::selector(QWidget *parent) :
    QDialog(parent,Qt::WindowTitleHint | Qt::WindowSystemMenuHint)
{
QMap <QString,QString> somemap;
 QTreeWidget* fTree = new QTreeWidget;

...
...

 connect(fTree,SIGNAL(itemActivated(QTreeWidgetItem*,int)),SLOT(on_select(QTreeWidgetItem*,int)));
}

void audiofolder_select::on_select(QTreeWidgetItem* t, int m)
{
    qDebug() << thjs->somemap;
}
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4747



Просмотр профиля WWW
« Ответ #3 : Ноябрь 05, 2011, 01:26 »

естественно локальная переменная больше нигде не доступна. сделай ее членом класса (как это сделать - почитай где-нибудь) и проблема отпадет.
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
LisandreL
Птица говорун
*****
Offline Offline

Сообщений: 984


Надо улыбаться


Просмотр профиля
« Ответ #4 : Ноябрь 05, 2011, 01:28 »

Так не выйдет, вы его в конструкторе не только создаёте, но и разрушаете по выходе из него.
Объявляйте somemap как член класса.
Ну и this пишется через другую букву.
Записан
qt_beginner
Гость
« Ответ #5 : Ноябрь 05, 2011, 02:07 »

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


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