Russian Qt Forum
Апреля 21, 2025, 20:34
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Общие вопросы
>
Динамическое создание имени переменной
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Динамическое создание имени переменной (Прочитано 10076 раз)
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 сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...