Автор: Begemot 18.5.2010, 8:15
Привет
Помогите с лайатом, что-то я с трудом вьезжаю:(
надо в главном окне так - A | B | C , где A, B, C это мои классы наследники QFrame, а | - сплитера. Этого добился, дальше хуже,
1. Какая волшебная комбинация свойств сделает так что бы при растяжении окна по горизонтали растягивался только С, а А и B оставались неизменные ?
2. Как установить начальную ширину А и B ?
3. Как сохранять\востанвлять геометрию внутреннего лайаута (положение сплитеров), может кто ткнут носом в ссылку\пример.
Автор: kibsoft 18.5.2010, 8:51
Цитата(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
kibsoft, не цитируй целыми сообщениями
Автор: kibsoft 18.5.2010, 16:20
Litkevich Yuriy, замечание принято
Автор: Begemot 19.5.2010, 10:16
Цитата(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
Спасибо, то что надо.