Russian Qt Forum
Ноябрь 25, 2024, 08:31
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Пользовательский интерфейс (GUI)
>
Использование динамических форм
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Использование динамических форм (Прочитано 4864 раз)
vitalka
Гость
Использование динамических форм
«
:
Ноябрь 28, 2011, 06:31 »
Создаю динамически много окон(QWidget) с различным содержанием. Появился вопрос, как информацию об этих окнах лучше хранить, что бы иметь доступ ко всем элементам?
Хранить ли ссылки на все элементы окна или достаточно только ссылки на само окно?
Как в этом случае получить по имени например, элементы содержащиеся в окне?
Пробовал хранить layout, и через него по местоположению получать адреса элементов, но это не очень удобно, в случае если нужно поменять интерфейс например.
Записан
Bepec
Гость
Re: Использование динамических форм
«
Ответ #1 :
Ноябрь 28, 2011, 06:56 »
Храни указатели. Вот тебе и весь сказ.
Записан
vitalka
Гость
Re: Использование динамических форм
«
Ответ #2 :
Ноябрь 28, 2011, 07:19 »
Цитата: Bepec от Ноябрь 28, 2011, 06:56
Храни указатели. Вот тебе и весь сказ.
До этого я и сам додумался, но тут получается, допустим я хочу создать новый тип окна (с другими элементами), я должен буду тогда менять структуру данных, в которой указатели хранятся.
Но ведь когда я на QWidget помещаю элементы, они же поидее уже хранятся где то, следовательно я их могу оттуда достать...
Записан
Bepec
Гость
Re: Использование динамических форм
«
Ответ #3 :
Ноябрь 28, 2011, 07:48 »
Незнаю твоих структур для чего они и можно ли их систематизировать. Так что скажу следующее:
По указателю на QWidget, ты можешь обратиться к любому виджету, находящемуся на нем.
Я бы систематизировал твои динамические формы и сделал бы 2-3 специализированных класса с функциями доступа
Записан
vitalka
Гость
Re: Использование динамических форм
«
Ответ #4 :
Ноябрь 28, 2011, 07:53 »
Цитата: Bepec от Ноябрь 28, 2011, 07:48
Незнаю твоих структур для чего они и можно ли их систематизировать. Так что скажу следующее:
По указателю на QWidget, ты можешь обратиться к любому виджету, находящемуся на нем.
Я бы систематизировал твои динамические формы и сделал бы 2-3 специализированных класса с функциями доступа
Вот как раз вопрос с том как найти нужный элемент на QWidget?
Могу ли, например внутреннему QWidget назначить имя, и потом при необходимости по этому имени получить на него указатель?
Записан
kambala
Джедай : наставник для всех
Offline
Сообщений: 4747
Re: Использование динамических форм
«
Ответ #5 :
Ноябрь 28, 2011, 08:49 »
динамически грузить - QFormBuilder/QUILoader, найти объект по имени - QObject::findChild[ren]()
Записан
Изучением 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
vitalka
Гость
Re: Использование динамических форм
«
Ответ #6 :
Ноябрь 28, 2011, 10:20 »
Цитата: kambala от Ноябрь 28, 2011, 08:49
динамически грузить - QFormBuilder/QUILoader, найти объект по имени - QObject::findChild[ren]()
Вот спасибо, то что надо.
Не понял причем здесь QFormBuilder/QUILoader....у меня формы динамически формируются.
Но я использовал setObjectName и findChild функции QObject, не знаю как раньше в голову не пришло, что это все через QObject делается. Проверил, все отлично работает.
Записан
kambala
Джедай : наставник для всех
Offline
Сообщений: 4747
Re: Использование динамических форм
«
Ответ #7 :
Ноябрь 28, 2011, 10:33 »
Цитата: vitalka от Ноябрь 28, 2011, 10:20
Не понял причем здесь QFormBuilder/QUILoader....у меня формы динамически формируются.
я думал они формируются динамически на основании каких-то предопределенных форм, которые хранятся в ui-файлах
Записан
Изучением 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
Bepec
Гость
Re: Использование динамических форм
«
Ответ #8 :
Ноябрь 28, 2011, 10:35 »
ТС не настолько специалист
Да и я его же категориями мыслю
Записан
Страниц: [
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 сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...