Russian Qt Forum
Ноябрь 26, 2024, 16:27
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Пользовательский интерфейс (GUI)
>
Сложная компоновка виджетов
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Сложная компоновка виджетов (Прочитано 4232 раз)
robin_bobin
Гость
Сложная компоновка виджетов
«
:
Июль 16, 2012, 18:27 »
Всем привет. Помогите разобраться.
1) Я создал класс с QHBoxLayout на котором расположен QFrame.
2) На QFrame расположен QHBoxLayout с 3мя виджетами.
3) Я создаю несколько объектов этого класса и помещаю его на QVBoxLayout.
4) QVBoxLayout помещаю на форму.
5) Первый и третий виджеты на QHBoxLayout могут иметь различную ширину и менять её во время запуска программы.
Нужно чтобы виджеты располагались таблично и придерживались левой стороны.
Например, ширина виджетов в 3х объектах класса:
100 100 100
120 100 130
110 100 140
Нужно чтобы вторые виджеты располагались строго в столбик, т.е. равнялись по позиции второго объекта класса(т.к. там он находится правее всех).
При расширении формы нужно чтобы ширина и позиция первых 2х виджетов оставалась неизменной, а ширина 3го виджета изменялась, но позиция оставалась такой же.
При изменении ширины виджетов, нужно чтобы компоновка виджетов работала по такому же принципу.
На сколько я понимаю в GridLayout такое нельзя сделать, т.к. виджеты должны располагаться на QFrame.
Спасибо за помощь.
Записан
V1KT0P
Гость
Re: Сложная компоновка виджетов
«
Ответ #1 :
Июль 16, 2012, 18:31 »
Попробуй нарисовать схему как и что должно быть, а то как-то мутно описано.
Записан
robin_bobin
Гость
Re: Сложная компоновка виджетов
«
Ответ #2 :
Июль 16, 2012, 18:44 »
примерно так
http://hostingkartinok.com/show-image.php?id=9b38ad94137b6af5c90a5b3a7bc9e072
Записан
V1KT0P
Гость
Re: Сложная компоновка виджетов
«
Ответ #3 :
Июль 16, 2012, 19:18 »
Цитата: robin_bobin от Июль 16, 2012, 18:44
примерно так
http://hostingkartinok.com/show-image.php?id=9b38ad94137b6af5c90a5b3a7bc9e072
Вот так?
Записан
Bepec
Гость
Re: Сложная компоновка виджетов
«
Ответ #4 :
Июль 16, 2012, 19:37 »
Спейсеры в помощь )
Думаю, Виктор уже привел правильное и логичное решение
Записан
robin_bobin
Гость
Re: Сложная компоновка виджетов
«
Ответ #5 :
Июль 16, 2012, 19:41 »
Цитата: V1KT0P от Июль 16, 2012, 19:18
Цитата: robin_bobin от Июль 16, 2012, 18:44
примерно так
http://hostingkartinok.com/show-image.php?id=9b38ad94137b6af5c90a5b3a7bc9e072
Вот так?
да, так.
Записан
robin_bobin
Гость
Re: Сложная компоновка виджетов
«
Ответ #6 :
Июль 16, 2012, 21:21 »
Цитата: V1KT0P от Июль 16, 2012, 19:18
Цитата: robin_bobin от Июль 16, 2012, 18:44
примерно так
http://hostingkartinok.com/show-image.php?id=9b38ad94137b6af5c90a5b3a7bc9e072
Вот так?
Если это ответ на мой вопрос, то не так. Я думал это пример как примерно должно располагаться) Дело в том, что в каждой строке 3 виджета, которые располагаются на QFrame. А тут они просто так лежат. Нехватает ещё 3х QFrame
Записан
V1KT0P
Гость
Re: Сложная компоновка виджетов
«
Ответ #7 :
Июль 16, 2012, 21:45 »
Цитата: robin_bobin от Июль 16, 2012, 21:21
Цитата: V1KT0P от Июль 16, 2012, 19:18
Цитата: robin_bobin от Июль 16, 2012, 18:44
примерно так
http://hostingkartinok.com/show-image.php?id=9b38ad94137b6af5c90a5b3a7bc9e072
Вот так?
Если это ответ на мой вопрос, то не так. Я думал это пример как примерно должно располагаться) Дело в том, что в каждой строке 3 виджета, которые располагаются на QFrame. А тут они просто так лежат. Нехватает ещё 3х QFrame
Кинь форму я посмотрю.
Записан
robin_bobin
Гость
Re: Сложная компоновка виджетов
«
Ответ #8 :
Июль 17, 2012, 23:22 »
Уже решил проблему.
1. добавил спэйсер после первого компонента в классе.
2. помести компоненты(экземпляры класса) на форму(динамически)
3. вычислил самую большую ширину первого компонента из всех классов.
3. установил ширину спэйсера для каждого экземпляра класса, равную максимальной ширине первого компонента минус ширина первого компонента в вычисляемом экземпляре класса.
Других вариантов нет, на сколько я понял.
Спасибо за помощь, реально помогли)
Записан
Страниц: [
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 сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...