Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: есть ли QSplitter в QT Desinger'е?
Форум на CrossPlatform.RU > Библиотеки > Qt > Qt GUI
Delphist
Скажите, пожалуйста, почему в QT Desinger на панели Widget Box (где расположены все компоненты) нет QSplitter'a
AD
Цитата(Delphist @ 14.8.2008, 9:44) *
Скажите, пожалуйста, почему в QT Desinger на панели Widget Box (где расположены все компоненты) нет QSplitter'a

Именно. Вроде как надо ручками! :(
Otto Baynes
Ну так там есть Lay Out Horizontally in Splitter и Lay Out Vertically in Splitter. Выбираете 2 или более виджета, а потом одно из этих действий.
Delphist
Цитата(Otto Baynes @ 14.8.2008, 9:05) *
Ну так там есть Lay Out Horizontally in Splitter и Lay Out Vertically in Splitter. Выбираете 2 или более виджета, а потом одно из этих действий.

Точно, спасибо.
Litkevich Yuriy
Delphist, ты считаешь, что название темы как-то отражает твой вопрос?

П.С. Пишите тему так чтобы понятно было о чем вопрос
kuler
а как сделать чтоб стили сплиттера менять? чтоб была такая фишка когда на сплиттер щелкаешь, а он сразу одну из частей делает во весь размер, скрывая другую?
ЙаМайскЫйПчОЛ
могу предположить что надо так.
Унаследуй свой класс от QSplittera, опиши функцию mousePressEvent при вызове которой происходит setCollapsible(int. bool)
только как однозначно определить кого свернуть?)))
Поэтому предусмотрен коллапс при достижении виджетом minimumSize( так что если твой видгет maximumsize == minimumsize достаточно нажать на сплиттер и на миллиметр сдвинуть в ту сторону которую хочешь скукожить)
Вроде жмыкание безсмысленно))))

тут надо исходить из условия состояния виджетов
kuler
то есть опять же нельзя через дизайнер.... в билдере это на раз-два делается..
ЙаМайскЫйПчОЛ
Может я недопонял, чего ты хочешь получить, но у меня десигнер такой же как у тебя)))) и там этого вроде нет.
Litkevich Yuriy
Цитата(kuler @ 11.9.2008, 14:19) *
а как сделать чтоб стили сплиттера менять?
стиль не отвечает за поведение, а только за оформление.
ЙаМайскЫйПчОЛ, сказал все как есть.
Цитата(kuler @ 11.9.2008, 18:23) *
в билдере это на раз-два делается.
просто есть такие методы у их класса, а у QSplitter нет.
kuler
кстати, а как сделать чтоб при добавлении сплиттера (опять же в дизайнере) можно было указать начальные размеры элементов (ну там первый элемент 20 пикселов)?
Litkevich Yuriy
сплиттер это разновидность компоновщика, соответственно также как и для компоновщика, задавай размеры вложеных виджетов, или сделай для удобства групповой виджет - ему размеры задай.
kuler
Цитата(Litkevich Yuriy @ 11.9.2008, 17:45) *
сплиттер это разновидность компоновщика, соответственно также как и для компоновщика, задавай размеры вложеных виджетов, или сделай для удобства групповой виджет - ему размеры задай.

меняю, а они не меняются, возможно изза sizepolicy?
Litkevich Yuriy
тупая установка размера (setGeometry) будет работать только если никто (например, компоновщик) не изменяет размер.
Цитата(kuler @ 11.9.2008, 21:11) *
возможно изза sizepolicy?
да политику надо установить, есть еще минимальный и максимальный размеры, которые учитываются компоновщиком.
kuler
Цитата(Litkevich Yuriy @ 11.9.2008, 18:20) *
да политику надо установить, есть еще минимальный и максимальный размеры, которые учитываются компоновщиком.

какую? и для кого?
Litkevich Yuriy
ну тебе все не разжушь за 5 мин. Лучшеб тебе потренироваться на примитивном виджете который содержит пару тройку других размещенных в компоновщике. Изучай с "Урока 4 - Используйте виджеты"
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2020 IPS, Inc.