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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: [Решено] Динамическое создание переменных  (Прочитано 3621 раз)
PulSar.CE3194694
Гость
« : Август 05, 2010, 12:13 »

Как сделать так, чтобы программа сама создавала переменные? Обычно их программист создает, но в моем случае это не подойдет (или я думаю неправильно).
Пример:
Создал вкладку - QWidget * tab = new QWidget; В самой программе на панельке есть кнопка, при нажатии на которую в окне создается вкладка. Количество вкладок изначально не указано, их может быть очень много (сколько раз нажал - столько и вкладок). В созданную вкладку программа вписывает определенные данные №1. Далее снова нажимаем на кнопку, создается еще одна вкладка, а в ней появляются данные №2 (данные берутся не с потолка, конечно. Я их до нажатия кнопки в диалоге вбиваю). Тем не менее, так не получается. Когда я перелистываю все вкладки, то обнаруживаю, что все данные в них одинаковые - такие же, как последние, которые вбил. В моем понимании это случилось, потому что мы вновь раз за разом создаем одну и туже переменную (виджет) tab, куда последовательно вводим значения. Значит, чтобы в каждой вкладке были разные данные, нужно чтобы создавалась своя переменная (виджет) для каждой вкладки (не tab, а tab_2 например), так ведь? Как это сделать?

Заранее спасибо.
« Последнее редактирование: Август 24, 2010, 15:49 от PulSar.CE3194694 » Записан
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #1 : Август 05, 2010, 13:06 »

заведи себе список (QList) или словарь (QMap) туда и помещай данные.
Полезно посмотреть пример "Калькулятор", в нём много кнопок, а слот обработки нажатия кнопки один на все. Разберись, как там данная ситуация разруливается.
Записан

Юра.
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #2 : Август 05, 2010, 13:07 »

>>нужно чтобы создавалась своя переменная
для этого кучу переменных-указателей не надо, надо только кучу объектов QWidget
Записан

Юра.
Amigo_sa
Гость
« Ответ #3 : Август 05, 2010, 15:37 »

Значит, чтобы в каждой вкладке были разные данные, нужно чтобы создавалась своя переменная (виджет) для каждой вкладки (не tab, а tab_2 например), так ведь? Как это сделать?
Нарисуйте в дизайнере формочку - содержимое таба, сохраните как класс в вашем приложении и создавайте динамически сколько угодно. Каждый раз вам нужно будет заполнить поля формы, и поместить форму внутрь таба. Чтобы обращаться удобно к каждому табу - все созданные формы помещайте,к примеру, в список. Ну это уже от логики вашей программы зависит.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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