Russian Qt Forum
Июнь 16, 2024, 04:05 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

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

Страниц: [1] 2   Вниз
  Печать  
Автор Тема: Как сделать сплиттер по-умлочанию равноширинным?  (Прочитано 12755 раз)
Caduceus
Гость
« : Сентябрь 11, 2009, 11:18 »

В редакторе виджеты которые в сплиттере одинаковой ширины. Запускаю программу - правое узэнькое-узэнькое. Почему так?
Записан
Caduceus
Гость
« Ответ #1 : Сентябрь 11, 2009, 11:41 »

И еще вопрос вдогонку. Как сделать чтобы в этом гребаном редакторе, когда делаешь например лайоут формы VertialLayout, чтобы он не расфигачивал по одинковым не изменяющим размер полочкам все виждеты на форме. Достало уже.

Надо всего ли сделать наверху сплиттре с двумя равноширинными виджетами и внизу один таб, который я программно заполняю виджетами с формы. Так вот он мне все эти табы при указании VertcalLayout раскладывате ровно по форме.


PS Блин, ну что за говно. Все прыгает, уменьшается в пикслеь, не ресайзится. Есть хоть один лайоут резиновый, который самому подправить можно или с овсеми такая жопа?
« Последнее редактирование: Сентябрь 11, 2009, 11:51 от Caduceus » Записан
Авварон
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3260


Просмотр профиля
« Ответ #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
Гость
« Ответ #3 : Сентябрь 11, 2009, 12:08 »

Все. пошел убивать себя ап стену. Видима моя задача слишком проста для "мощного, гибкого и удобного" механиза размещения контролов Qt.

Он бля такой супер-умный, и ширину-то раздвигает при смене языков и все зашибись. Нахера он спрашивается уебывает размер в ноль при задании лайоута. В WTL бля и то все понятнее.
Записан
Авварон
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3260


Просмотр профиля
« Ответ #4 : Сентябрь 11, 2009, 12:12 »

задачу обрисуй и без мата, если можно...
Записан
Caduceus
Гость
« Ответ #5 : Сентябрь 11, 2009, 12:19 »

Да как же тут без мата-то...

Задача проста. Сделать компоновку в дизайнере, чтоб после запуска было бы тоже что и в дизайнере. Программно...нафига они тогда дизайнер вообще делали...

Лайоут такой. Окно. Всю ег оосновную часть занимает сплиттер с двумя виджетами слева и справа. В дизайнере все зашибись - все одинаково, после заупска правый уменьшается пикслей до 100 в ширине. Ну это ладно, как бы. Это не бесит и не вызывает мата.

Проблема в другом. Под этим сплиттером должен быть таб. И я кидаю таб. Но таб кастомный и он заполняется виджетами с самой формы. Поэтому виджеты для таба я тоже кидаю на основную форму. Все. Кинул нормально.

Но!!!! Надо задать ЛАЙОУТ всей формы, чтобы при ресайзе все нормально двигалось... И тут начинается.  То он все в ноль уфигачиает куда-то в угол. То все рановмерно раскладывает, то максимайзит на все окно не то что надо. Короче, сделать как мне надо - НЕВОЗМОЖНО, я так понял...
Записан
Авварон
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3260


Просмотр профиля
« Ответ #6 : Сентябрь 11, 2009, 12:31 »

поглядел в реальной программе, сплиттер - походу баг именно дизайнера (вообще так быть не должно - что размеры виджета заданные руками, влияют на компоновку. Исключение - minimumExpanding, но тебе он не подойдет)
теперь таб - делаешь TabWidget, в них кидаешь нужные тебе виджеты, и программно прячешь ненужные (не пробовал, но должно сработать)
Записан
Caduceus
Гость
« Ответ #7 : Сентябрь 11, 2009, 12:34 »

А лайоут всей формы-то какйо делать? Проблемы наичнаются именно с попыток задания лайоута формы.
Записан
Авварон
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3260


Просмотр профиля
« Ответ #8 : Сентябрь 11, 2009, 12:42 »

так в том-то и дело, что не важно, у тебя "динамические" виджеты должны быть упрятаны внутрь таба, ведь так? я использовал грид лайаут, но можно и вертикальный
у меня получилось что-то типа такого (на форме есть еще 2 виджета, коих сейчас не видно):
Записан
Caduceus
Гость
« Ответ #9 : Сентябрь 11, 2009, 12:44 »

А можешь сделать нижний таб примерно 1/5 всего окна внизу?

Я ставил грид, он таб расфигачивает на все окно и то что мне надо узенькой полоской наверху.
Записан
Caduceus
Гость
« Ответ #10 : Сентябрь 11, 2009, 12:51 »

Вот что у меня. Полосочка выделенная наверху - это то что должно быть на все окно (сплиттер) и в программе так и есть. Этот градлинетный - это один из табов. Какого х... он его расфигачил на все окно - загадка.
Записан
Авварон
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3260


Просмотр профиля
« Ответ #11 : Сентябрь 11, 2009, 13:02 »

форму (.ui файл) выложи:) кажись знаю, где трабла... размеры ковырял?
вот тебе урезанный низ (правда он через 1 место сделан)
Записан
Caduceus
Гость
« Ответ #12 : Сентябрь 11, 2009, 13:07 »

Да размер ковырял. Пытался хоть как-то угомонить эти максимизирущиеся виджеты и ставил максимумы высоты в 200 пикслелй. Пофигу. Вот что у меня. Если менять лайоут формы - толку не много, все арвно поулчается лажа, которую нельзя поправить
Записан
Авварон
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3260


Просмотр профиля
« Ответ #13 : Сентябрь 11, 2009, 13:15 »

по-моему тебе нужны спейсеры:)
Записан
Caduceus
Гость
« Ответ #14 : Сентябрь 11, 2009, 13:20 »

Добавил так спйсеры. В дизайнере по-прежнему главная часть окна узкой полоскорй наврерху, потом вниз половина занята спйсером, потом то что в табах
Записан
Страниц: [1] 2   Вверх
  Печать  
 
Перейти в:  


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