Название: QString\int вместо имени винджета\функции Отправлено: yesrus от Март 22, 2009, 01:17 Здравствуйте! Возник вопрос-можно ли использовать значение QString или к примеру int как имя виджета или функции.
т.е. есть 10 винджетов (QPushButton) - a1,a2,a3....b1,b2,b3... Можно и к примеру записать имя виджета в QString (string) или номер в int (i)и вызвать потом - к примеру: Код: i=1; Если можно то как ? В интернете искать пытался..но не совсем понятно как сформировать поисковый запрос...в примерах нигде ничего похожего не видел. Название: Re: QString\int вместо имени винджета\функции Отправлено: BaltikS от Март 22, 2009, 01:42 Если Вы это имели ввиду, то:
Код
Название: Re: QString\int вместо имени винджета\функции Отправлено: yesrus от Март 22, 2009, 01:53 Не совсем, интересен вопрос как с ними работать..т.е. как обратиться к объекту чье имя записанно в qstring или qlist и т.д.(задать текст для кнопки которая находится на 5 строке QList к примеру (т.е. аналог команды
Код: mybutton->setText("text"); Код: list.at[i] Код: a[i]->setText("text") т.е. идея такова-у меня есть много кнопок и мне нужно зная их имена (имена считываем из файла или получаем через сокет по сети) которые записаны в QString или в int (при условии, что буквенное имя заранее известно и в int только численная часть имени объекта) работать с ними..изменять их параметры..цвет и т.д. Название: Re: QString\int вместо имени винджета\функции Отправлено: lit-uriy от Март 22, 2009, 02:11 findChild<QPushButton *>("button1")
оно? Название: Re: QString\int вместо имени винджета\функции Отправлено: BRE от Март 22, 2009, 07:21 Не совсем, интересен вопрос как с ними работать..т.е. как обратиться к объекту чье имя записанно в qstring или qlist и т.д.(задать текст для кнопки которая находится на 5 строке QList к примеру (т.е. аналог команды Это по номеру (int)Код: mybutton->setText("text"); Код: list.at[i] Код: a[i]->setText("text") Код
Это по имени (QString) Код
Название: Re: QString\int вместо имени винджета\функции Отправлено: Alex Custov от Март 23, 2009, 22:30 в С++ нет eval. Поэтому только костыли типа хранения указателей в QHash, как выше показано.
Название: Re: QString\int вместо имени винджета\функции Отправлено: BRE от Март 23, 2009, 22:57 в С++ нет eval. Поэтому только костыли типа хранения указателей в QHash, как выше показано. Как-то не пойму в чем эти костыли заключаются? Название: Re: QString\int вместо имени винджета\функции Отправлено: Alex Custov от Март 24, 2009, 00:25 Как-то не пойму в чем эти костыли заключаются? потому решение поставленной задачи - Код: eval "obj=\"\$button1\""; А так руками храним карту соответствий, руками ищем и т.д. Костыль он и есть. Название: Re: QString\int вместо имени винджета\функции Отправлено: BRE от Март 24, 2009, 00:28 потому решение поставленной задачи - Аааа. ;DКод: eval "obj=\"\$button1\""; А так руками храним карту соответствий, руками ищем и т.д. Костыль он и есть. Не, хочу так. Код
Название: Re: QString\int вместо имени винджета\функции Отправлено: Alex Custov от Март 24, 2009, 00:33 эээ не понял.. :)
Название: Re: QString\int вместо имени винджета\функции Отправлено: BRE от Март 24, 2009, 00:45 эээ не понял.. :) Это я к тому, что не надо стесняться руками работу выполнять. ;)А выше пример идеальной программы, все остальное должен сделать компилятор. ;D Название: Re: QString\int вместо имени винджета\функции Отправлено: yesrus от Март 25, 2009, 20:39 Жаль, что можно выкрутиться только хранением в Qmap :<, но все-равно всем спасибо, альфа версия проекта готова :) и хорошо, что это был именно qt...на чистом с++ (как изначально планировалось)..страшно даже подумать сколько бы это заняло... (особенно учитывая, что я только начинаю изучать с++\qt), стало на 100% понятно почему большая часть пишет на шарпе и яве...раньше это казалось..кхм..странным :D
Название: Re: QString\int вместо имени винджета\функции Отправлено: Alex Custov от Март 30, 2009, 16:45 в STL тоже есть map
|