Russian Qt Forum
Октября 24, 2025, 21:17
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Пользовательский интерфейс (GUI)
>
Все-таки как сделать сплиттер равноширинным
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Все-таки как сделать сплиттер равноширинным (Прочитано 3894 раз)
Caduceus
Гость
Все-таки как сделать сплиттер равноширинным
«
:
Сентября 26, 2009, 11:39 »
Я уже задавал этот вопрос, после всех ответов пришел к дурацкому решению задать горизонтальные растяжки виждетов, которые в сплиттере как 5 и 8 (да-да и это дало одинаковые ширины). Перерь интерфейс расширяю, все сползло и 5-8 уже не помагают.
Вот такое у меня как на картинке. У выделенных виджетов параметры все одинаковые. У групп кнопок тоже все одинаковые. Вообще левая и правая части отличнаютсят олько количеством кнопок наверху ну и самими катсомными виджетами. НИКАК не хочет делаться одинаковыми две части сплиттера, хоть убейся. Мож кто подскажет?
Записан
Igors
Джедай : наставник для всех
Offline
Сообщений: 11445
Re: Все-таки как сделать сплиттер равноширинным
«
Ответ #1 :
Сентября 26, 2009, 12:43 »
Я решал это так
Код:
QList <int> size;
size.append(100);
size.append(100);
splitter->setSizes(size);
Можно и др. значения вместо 100, сплиттеру нужны соотношения размеров, а не их абсолютные значения. Иначе он пытается их сам вычислить и если слева на кнопку меньше - ну значит дадим там и места меньше
Записан
Caduceus
Гость
Re: Все-таки как сделать сплиттер равноширинным
«
Ответ #2 :
Сентября 26, 2009, 12:51 »
ВООО!!!!!
ОГРОМНОЕ СПАСИБО. Помогло!!!!!!!!!!
Записан
SABROG
Гость
Re: Все-таки как сделать сплиттер равноширинным
«
Ответ #3 :
Сентября 26, 2009, 13:00 »
Ты приаттачил .ui'шник, где у виджетов разные факторы растягивания плюс разные настройки у лэйаутов. Это к слову. Пришлось всё сбрасывать, чтобы увидеть проблему.
Но логика тут простая:
29 - ширина кнопок
40 - ширина пружины
0 - фактор растягивания
4 - количество контролов с левой стороны
2 - количество контролов с правой стороны
((29*4)+40)*0 = 156 - ширина для левой стороны
((29*2)+40)*0 = 98 - ширина для правой стороны
156/98 = 1,6 - некий коэффициент того, что левая сторона больше правой в 1,6 раза
Почему это не настраивается через дизайнер - вопрос.
Записан
_OLEGator_
Гость
Re: Все-таки как сделать сплиттер равноширинным
«
Ответ #4 :
Сентября 26, 2009, 13:13 »
Могу предположить почему это не настраивается в дизайнере:
может быть просто потому, что сплиттер может содержать больше 2х виджетов и соотношения размеров как раз и задаются в setSizes(const QList<int> & list), а случай 2х виджетов просто является частным
Сам делал аналогичным способом, как и Igors.
Записан
Caduceus
Гость
Re: Все-таки как сделать сплиттер равноширинным
«
Ответ #5 :
Сентября 26, 2009, 13:22 »
Всем спасибо. Все понял.
Убеждаюсь еще раз что не все, что задумал можно нарисовать в дизайнере.
Записан
Страниц: [
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 сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...