QSplitter layout |
Здравствуйте, гость ( Вход | Регистрация )
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 |
Привет Помогите с лайатом, что-то я с трудом вьезжаю:( надо в главном окне так - 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, замечание принято
|
|
|
Begemot |
19.5.2010, 10:16
Сообщение
#5
|
Студент Группа: Новичок Сообщений: 13 Регистрация: 15.5.2010 Пользователь №: 1718 Спасибо сказали: 0 раз(а) Репутация: 0 |
1) у A и B виджетов setSizePolicy(QSizePolicy::Fixed,QSizePolicy::Expanding) это для примера. Fixed - чтобы размер по горизонтали не менялся. Это было первое что я сделал Еще пытался установить stretch factor в дизайнере вроде стало выглядеть правильно, в реальности нет. Похоже это как-то еще зависит от настроек самих классов наследников панелей.. И еще одна очень странная вещь - когда запускаю, поведение сплитера не правильное. но стоит только руками дергнуть один из разделителей как все становится замечательным, теперь можно ресайзить окно и поведение будет именно таким какого я и добивался. QByteArray QSplitter::saveState () const Спасибо, то что надо. |
|
|
Текстовая версия | Сейчас: 26.11.2024, 0:41 |