crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> QSplitter layout
Begemot
  опции профиля:
сообщение 18.5.2010, 8:15
Сообщение #1


Студент
*

Группа: Новичок
Сообщений: 13
Регистрация: 15.5.2010
Пользователь №: 1718

Спасибо сказали: 0 раз(а)




Репутация:   0  


Привет

Помогите с лайатом, что-то я с трудом вьезжаю:(

надо в главном окне так - A | B | C , где A, B, C это мои классы наследники QFrame, а | - сплитера. Этого добился, дальше хуже,
1. Какая волшебная комбинация свойств сделает так что бы при растяжении окна по горизонтали растягивался только С, а А и B оставались неизменные ?
2. Как установить начальную ширину А и B ?
3. Как сохранять\востанвлять геометрию внутреннего лайаута (положение сплитеров), может кто ткнут носом в ссылку\пример.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kibsoft
  опции профиля:
сообщение 18.5.2010, 8:51
Сообщение #2


Участник
**

Группа: Участник
Сообщений: 180
Регистрация: 21.7.2009
Из: Самара
Пользователь №: 928

Спасибо сказали: 14 раз(а)




Репутация:   2  


Цитата(Begemot @ 18.5.2010, 9:15) *
Привет

Помогите с лайатом, что-то я с трудом вьезжаю:(

надо в главном окне так - A | B | C , где A, B, C это мои классы наследники QFrame, а | - сплитера. Этого добился, дальше хуже,
1. Какая волшебная комбинация свойств сделает так что бы при растяжении окна по горизонтали растягивался только С, а А и B оставались неизменные ?
2. Как установить начальную ширину А и B ?
3. Как сохранять\востанвлять геометрию внутреннего лайаута (положение сплитеров), может кто ткнут носом в ссылку\пример.

1) у A и B виджетов setSizePolicy(QSizePolicy::Fixed,QSizePolicy::Expanding) это для примера. Fixed - чтобы размер по горизонтали не менялся.
2) попробуй resize. Точно не знаю.
3) QByteArray QSplitter::saveState () const
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 18.5.2010, 10:01
Сообщение #3


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


kibsoft, не цитируй целыми сообщениями
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kibsoft
  опции профиля:
сообщение 18.5.2010, 16:20
Сообщение #4


Участник
**

Группа: Участник
Сообщений: 180
Регистрация: 21.7.2009
Из: Самара
Пользователь №: 928

Спасибо сказали: 14 раз(а)




Репутация:   2  


Litkevich Yuriy, замечание принято :yes:
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Begemot
  опции профиля:
сообщение 19.5.2010, 10:16
Сообщение #5


Студент
*

Группа: Новичок
Сообщений: 13
Регистрация: 15.5.2010
Пользователь №: 1718

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(kibsoft @ 18.5.2010, 8:51) *
1) у A и B виджетов setSizePolicy(QSizePolicy::Fixed,QSizePolicy::Expanding) это для примера. Fixed - чтобы размер по горизонтали не менялся.


Это было первое что я сделал :) Еще пытался установить stretch factor в дизайнере вроде стало выглядеть правильно, в реальности нет. Похоже это как-то еще зависит от настроек самих классов наследников панелей..

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

Цитата(kibsoft @ 18.5.2010, 8:51) *
QByteArray QSplitter::saveState () const

Спасибо, то что надо.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


3 чел. читают эту тему (гостей: 3, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 26.11.2024, 0:42