Russian Qt Forum
Ноябрь 23, 2024, 23:33
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Общие вопросы
>
Динамическое создание имени переменной
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Динамическое создание имени переменной (Прочитано 9862 раз)
SerjVarshavskiy
Гость
Динамическое создание имени переменной
«
:
Ноябрь 04, 2007, 13:57 »
День добрый.
например в perl есть возможность получить данные переменной,
имя которой находится в другой переменной (string)
perl:
$testVar = "YES!\n";
$strVarName = "testVar";
print "$$strVarName"; # YES!
подскажите, как подобное реализовать в Qt/C++ ?
Записан
Вячеслав
Гость
Re: Динамическое создание имени переменной
«
Ответ #1 :
Ноябрь 04, 2007, 14:19 »
perl - интерпритатор, C++ компилятор - в общем случае
Разницу знаем ?
В самом общем случае - ответ будет -"никак"
Если переменные наследники QObject'a то смотрим в сторону objectName проперти
Записан
ритт
Гость
Re: Динамическое создание имени переменной
«
Ответ #2 :
Ноябрь 04, 2007, 14:33 »
а поинтеры на хрена были придуманы?
Записан
SerjVarshavskiy
Гость
Re: Динамическое создание имени переменной
«
Ответ #3 :
Ноябрь 04, 2007, 14:35 »
затем, что бы на вопрос написать какой-нибудь ответ КОДОМ
Записан
pastor
Administrator
Джедай : наставник для всех
Offline
Сообщений: 2901
Re: Динамическое создание имени переменной
«
Ответ #4 :
Ноябрь 04, 2007, 14:36 »
Можно попробывать через
Dynamic Properties
. Помоему так будет дёшево и сердито
Записан
Integrated Computer Solutions, Inc. (ICS)
http://www.ics.com/
SerjVarshavskiy
Гость
Re: Динамическое создание имени переменной
«
Ответ #5 :
Ноябрь 04, 2007, 14:40 »
Цитата: Вячеслав от Ноябрь 04, 2007, 14:19
perl - интерпритатор, C++ компилятор - в общем случае
Разницу знаем ?
В самом общем случае - ответ будет -"никак"
Если переменные наследники QObject'a то смотрим в сторону objectName проперти
о, башое пасиб, чет сразу не сообразил про эту возможность с objectName
Записан
SerjVarshavskiy
Гость
Re: Динамическое создание имени переменной
«
Ответ #6 :
Ноябрь 04, 2007, 14:49 »
Цитата: pastor от Ноябрь 04, 2007, 14:36
Можно попробывать через
Dynamic Properties
. Помоему так будет дёшево и сердито
если можно подробнее (если это не QObject.ObectName)
новенький я в Qt
Записан
pastor
Administrator
Джедай : наставник для всех
Offline
Сообщений: 2901
Re: Динамическое создание имени переменной
«
Ответ #7 :
Ноябрь 04, 2007, 14:56 »
Цитата: SerjVarshavskiy от Ноябрь 04, 2007, 14:49
если можно подробнее (если это не QObject.ObectName)
Это QObject::setProperty(...), QObject::property()
Цитировать
In addition to properties defined using Q_PROPERTY in a class it is possible to dynamically add and remove properties to any QObject at run-time.
If setProperty is called with a property not statically defined using Q_PROPERTY it is automatically added as dynamic property and its value is stored in the object. The value can be queried using the property() method, just like with static properties.
Записан
Integrated Computer Solutions, Inc. (ICS)
http://www.ics.com/
Вячеслав
Гость
Re: Динамическое создание имени переменной
«
Ответ #8 :
Ноябрь 04, 2007, 15:06 »
Цитата: xep от Ноябрь 04, 2007, 14:33
а поинтеры на хрена были придуманы?
А для динамики они не катят - если ты не знаешь че ему присваивать - имя перемменой строиться в динамике - то ой
А вообще IMHO это изврат - если такое потребовалось - ищем ошибку в проектировании проги
Записан
Tam-Tam
Гость
Re: Динамическое создание имени переменной
«
Ответ #9 :
Ноябрь 05, 2007, 02:34 »
Нечто похожее есть в С++. Qt тут ни при чем.
Записан
vaprele07
Гость
Re: Динамическое создание имени переменной
«
Ответ #10 :
Ноябрь 05, 2007, 04:31 »
посмотри QMap, QHash
QMap<QString, QString> tags;
tags["testVar"] = "YES!\n";
strVarName = tags["testVar"];
Записан
Tam-Tam
Гость
Re: Динамическое создание имени переменной
«
Ответ #11 :
Ноябрь 05, 2007, 13:09 »
Может поможет...
#define concat(a, b) a ## b
int xy = 1;
printf("%d", concat(x, y));
Хотя врядли - динамически так не получится.
«
Последнее редактирование: Ноябрь 05, 2007, 13:11 от Tam-Tam
»
Записан
Racheengel
Джедай : наставник для всех
Offline
Сообщений: 2679
Я работал с дискетам 5.25 :(
Re: Динамическое создание имени переменной
«
Ответ #12 :
Ноябрь 06, 2007, 01:43 »
Вообще непонятно, нафига такое понадобилось?
Записан
What is the 11 in the C++11? It’s the number of feet they glued to C++ trying to obtain a better octopus.
COVID не волк, в лес не уйдёт
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...