Russian Qt Forum
Мая 14, 2025, 02:39
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Пользовательский интерфейс (GUI)
>
Как сделать сплиттер по-умлочанию равноширинным?
Страниц: [
1
]
2
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Как сделать сплиттер по-умлочанию равноширинным? (Прочитано 13479 раз)
Caduceus
Гость
Как сделать сплиттер по-умлочанию равноширинным?
«
:
Сентября 11, 2009, 11:18 »
В редакторе виджеты которые в сплиттере одинаковой ширины. Запускаю программу - правое узэнькое-узэнькое. Почему так?
Записан
Caduceus
Гость
Re: Как сделать сплиттер по-умлочанию равноширинным?
«
Ответ #1 :
Сентября 11, 2009, 11:41 »
И еще вопрос вдогонку. Как сделать чтобы в этом гребаном редакторе, когда делаешь например лайоут формы VertialLayout, чтобы он не расфигачивал по одинковым не изменяющим размер полочкам все виждеты на форме. Достало уже.
Надо всего ли сделать наверху сплиттре с двумя равноширинными виджетами и внизу один таб, который я программно заполняю виджетами с формы. Так вот он мне все эти табы при указании VertcalLayout раскладывате ровно по форме.
PS Блин, ну что за говно. Все прыгает, уменьшается в пикслеь, не ресайзится. Есть хоть один лайоут резиновый, который самому подправить можно или с овсеми такая жопа?
«
Последнее редактирование: Сентября 11, 2009, 11:51 от Caduceus
»
Записан
Авварон
Джедай : наставник для всех
Offline
Сообщений: 3260
Re: Как сделать сплиттер по-умлочанию равноширинным?
«
Ответ #2 :
Сентября 11, 2009, 11:50 »
1) size policy поковыряй.
2) так и надо как бы. Пробуй грид и спейсеры. Возможно форм лайаут еще будет в тему
3) tab widget?
лайауты для того и нужны, чтобы раскладывать виджеты по определенным правилам. Можешь попробовать программно прятать лишние виджеты, либо удалять/добавлять их из лайаута когда надо, но лучше таб виджет
added: про спейсер понял о чем ты) выглядит как бага, но надо глядеть как будет в программе, потому что класс для отображения .ui'шки может действительно слегка отличаться (возможно что "бага" как раз в классе дизайнера). Вообще размер задается через QSplitter::setSizes ( const QList<int> & list ), если я правильно понял докуметацию.
«
Последнее редактирование: Сентября 11, 2009, 12:11 от Авварон
»
Записан
Caduceus
Гость
Re: Как сделать сплиттер по-умлочанию равноширинным?
«
Ответ #3 :
Сентября 11, 2009, 12:08 »
Все. пошел убивать себя ап стену. Видима моя задача слишком проста для "мощного, гибкого и удобного" механиза размещения контролов Qt.
Он бля такой супер-умный, и ширину-то раздвигает при смене языков и все зашибись. Нахера он спрашивается уебывает размер в ноль при задании лайоута. В WTL бля и то все понятнее.
Записан
Авварон
Джедай : наставник для всех
Offline
Сообщений: 3260
Re: Как сделать сплиттер по-умлочанию равноширинным?
«
Ответ #4 :
Сентября 11, 2009, 12:12 »
задачу обрисуй и без мата, если можно...
Записан
Caduceus
Гость
Re: Как сделать сплиттер по-умлочанию равноширинным?
«
Ответ #5 :
Сентября 11, 2009, 12:19 »
Да как же тут без мата-то...
Задача проста. Сделать компоновку в дизайнере, чтоб после запуска было бы тоже что и в дизайнере. Программно...нафига они тогда дизайнер вообще делали...
Лайоут такой. Окно. Всю ег оосновную часть занимает сплиттер с двумя виджетами слева и справа. В дизайнере все зашибись - все одинаково, после заупска правый уменьшается пикслей до 100 в ширине. Ну это ладно, как бы. Это не бесит и не вызывает мата.
Проблема в другом. Под этим сплиттером должен быть таб. И я кидаю таб. Но таб кастомный и он заполняется виджетами с самой формы. Поэтому виджеты для таба я тоже кидаю на основную форму. Все. Кинул нормально.
Но!!!! Надо задать ЛАЙОУТ всей формы, чтобы при ресайзе все нормально двигалось... И тут начинается. То он все в ноль уфигачиает куда-то в угол. То все рановмерно раскладывает, то максимайзит на все окно не то что надо. Короче, сделать как мне надо - НЕВОЗМОЖНО, я так понял...
Записан
Авварон
Джедай : наставник для всех
Offline
Сообщений: 3260
Re: Как сделать сплиттер по-умлочанию равноширинным?
«
Ответ #6 :
Сентября 11, 2009, 12:31 »
поглядел в реальной программе, сплиттер - походу баг именно дизайнера (вообще так быть не должно - что размеры виджета заданные руками, влияют на компоновку. Исключение - minimumExpanding, но тебе он не подойдет)
теперь таб - делаешь TabWidget, в них кидаешь нужные тебе виджеты, и программно прячешь ненужные (не пробовал, но должно сработать)
Записан
Caduceus
Гость
Re: Как сделать сплиттер по-умлочанию равноширинным?
«
Ответ #7 :
Сентября 11, 2009, 12:34 »
А лайоут всей формы-то какйо делать? Проблемы наичнаются именно с попыток задания лайоута формы.
Записан
Авварон
Джедай : наставник для всех
Offline
Сообщений: 3260
Re: Как сделать сплиттер по-умлочанию равноширинным?
«
Ответ #8 :
Сентября 11, 2009, 12:42 »
так в том-то и дело, что не важно, у тебя "динамические" виджеты должны быть упрятаны внутрь таба, ведь так? я использовал грид лайаут, но можно и вертикальный
у меня получилось что-то типа такого (на форме есть еще 2 виджета, коих сейчас не видно):
Записан
Caduceus
Гость
Re: Как сделать сплиттер по-умлочанию равноширинным?
«
Ответ #9 :
Сентября 11, 2009, 12:44 »
А можешь сделать нижний таб примерно 1/5 всего окна внизу?
Я ставил грид, он таб расфигачивает на все окно и то что мне надо узенькой полоской наверху.
Записан
Caduceus
Гость
Re: Как сделать сплиттер по-умлочанию равноширинным?
«
Ответ #10 :
Сентября 11, 2009, 12:51 »
Вот что у меня. Полосочка выделенная наверху - это то что должно быть на все окно (сплиттер) и в программе так и есть. Этот градлинетный - это один из табов. Какого х... он его расфигачил на все окно - загадка.
Записан
Авварон
Джедай : наставник для всех
Offline
Сообщений: 3260
Re: Как сделать сплиттер по-умлочанию равноширинным?
«
Ответ #11 :
Сентября 11, 2009, 13:02 »
форму (.ui файл) выложи:) кажись знаю, где трабла... размеры ковырял?
вот тебе урезанный низ (правда он через 1 место сделан)
Записан
Caduceus
Гость
Re: Как сделать сплиттер по-умлочанию равноширинным?
«
Ответ #12 :
Сентября 11, 2009, 13:07 »
Да размер ковырял. Пытался хоть как-то угомонить эти максимизирущиеся виджеты и ставил максимумы высоты в 200 пикслелй. Пофигу. Вот что у меня. Если менять лайоут формы - толку не много, все арвно поулчается лажа, которую нельзя поправить
Записан
Авварон
Джедай : наставник для всех
Offline
Сообщений: 3260
Re: Как сделать сплиттер по-умлочанию равноширинным?
«
Ответ #13 :
Сентября 11, 2009, 13:15 »
по-моему тебе нужны спейсеры:)
Записан
Caduceus
Гость
Re: Как сделать сплиттер по-умлочанию равноширинным?
«
Ответ #14 :
Сентября 11, 2009, 13:20 »
Добавил так спйсеры. В дизайнере по-прежнему главная часть окна узкой полоскорй наврерху, потом вниз половина занята спйсером, потом то что в табах
Записан
Страниц: [
1
]
2
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
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 сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...