Название: Вопрос о компановке Отправлено: brucemax от Ноябрь 03, 2011, 13:43 Здравствуйте. В Qt Disagner создал форму, заполнил её необходимыми виджетами, сами которые расположены в GridLayout. В main.cpp с помощью showFullScreen() делаю что форма открывыается на весь экран. Вопрос: как сделать так что бы при запуске приложения, когда форма разворачивается на весь экран пропорционально ей увеличивался и GridLayout в котором находяться виджеты?
Заранее спасибо. Название: Re: Вопрос о компановке Отправлено: Bepec от Ноябрь 03, 2011, 13:52 В Designer'e щелкни на главный виджет (или выбери его справа вверху в дереве виджетов), после чего на панели инструментов (вверху под главным меню) выбери любой вид компоновщика.
Этакие синенькие схемы расположения виджетов. Проще говоря - тырк на пустом месте главной формы, тырк на панельку компоновщиков. И результат будет очевиден :) Название: Re: Вопрос о компановке Отправлено: brucemax от Ноябрь 03, 2011, 14:38 В Designer'e щелкни на главный виджет (или выбери его справа вверху в дереве виджетов), после чего на панели инструментов (вверху под главным меню) выбери любой вид компоновщика. Спасибо за ответ. Я так понял вы предлагаете применить ко всей форме один из компоновщиков. То есть просто выбрать самый главный в дереве виджетов нажать правую кнопку мыши и выбрать компановка-> Cкомпоновать по горизонтали(например). Несомненно это растягивает всё во время расскрытия формы, но в Designer компоненты становяться неприемлемым образом.. а возможноть их передвинуть как надо отсутствует. =(Этакие синенькие схемы расположения виджетов. Проще говоря - тырк на пустом месте главной формы, тырк на панельку компоновщиков. И результат будет очевиден :) Вот два скрина до и после выполнения это действия Название: Re: Вопрос о компановке Отправлено: brucemax от Ноябрь 03, 2011, 14:39 В Designer'e щелкни на главный виджет (или выбери его справа вверху в дереве виджетов), после чего на панели инструментов (вверху под главным меню) выбери любой вид компоновщика. Этакие синенькие схемы расположения виджетов. Проще говоря - тырк на пустом месте главной формы, тырк на панельку компоновщиков. И результат будет очевиден :) Название: Re: Вопрос о компановке Отправлено: Bepec от Ноябрь 03, 2011, 15:01 Берем и за 2 минуты клепаем подобие. добавляем 1 компоновщик наверх и 2 пружинки.
Меняем 2 значения главного компоновщика - row strech и смотрим Название: Re: Вопрос о компановке Отправлено: Bepec от Ноябрь 03, 2011, 15:05 http://s2.ipicture.ru/uploads/20111103/UbS3lW84.jpg
http://s2.ipicture.ru/uploads/20111103/UpTRapII.jpg сорри убегаю с работы ) залил туды, форум не дает xD Название: Re: Вопрос о компановке Отправлено: brucemax от Ноябрь 03, 2011, 15:36 Берем и за 2 минуты клепаем подобие. добавляем 1 компоновщик наверх и 2 пружинки. Меняем 2 значения главного компоновщика - row strech и смотрим Спасибо вам за помощь! Я б ещё долго искал этот row streth.. А ещё маленький вопрос можно: как вы видите прогресс бар и Lcd у меня заключён в Frame.. так вот в то время как frame масштабируется вместе с окном прогресс бар остаётся маленьким.. я так понимаю что решить эту проблему можно путём применения компановщика к прогресбару и Lcd? Название: Re: Вопрос о компановке Отправлено: kambala от Ноябрь 03, 2011, 17:15 такие интерфейсы надо создавать в цикле, а не копипастой. можно, например, в дизайнере создать "кирпичик" и в цикле лишь задавать кирпичику координаты и какие-то строчки.
как вы видите прогресс бар и Lcd у меня заключён в Frame.. так вот в то время как frame масштабируется вместе с окном прогресс бар остаётся маленьким.. я так понимаю что решить эту проблему можно путём применения компановщика к прогресбару и Lcd? набрось на фрейм или непосредственно на нужные виджеты желаемый компоновщик.Название: Re: Вопрос о компановке Отправлено: andrew.k от Ноябрь 03, 2011, 17:22 Да.
И лучше сделай отдельным виджетом. Тебе самому удобнее будет. Название: Re: Вопрос о компановке Отправлено: brucemax от Ноябрь 04, 2011, 10:21 такие интерфейсы надо создавать в цикле, а не копипастой. можно, например, в дизайнере создать "кирпичик" и в цикле лишь задавать кирпичику координаты и какие-то строчки. Спасибо за совет!как вы видите прогресс бар и Lcd у меня заключён в Frame.. так вот в то время как frame масштабируется вместе с окном прогресс бар остаётся маленьким.. я так понимаю что решить эту проблему можно путём применения компановщика к прогресбару и Lcd? набрось на фрейм или непосредственно на нужные виджеты желаемый компоновщик.Вот.. про цикл я как раз таки думал уже) а сам цикл значит надо делать в конструкторе главного виджета? А насчёт фрэйма.. так там и компоновщик набрасывать не надо.. оказалось, он сам может служить компоновщиком..) Название: Re: Вопрос о компановке Отправлено: brucemax от Ноябрь 04, 2011, 10:45 Да. То есть вы имеете ввиду.. выделить всё в "кирпичике" нажать правую кнопку мыши и выбрать "преобразовать в виджет".. просто не вижу разницы от добавления всего содержимого в "кирпичике" в один в фрэйм.. да и всё равно для масштабирования всего при изменении размеров окна без компоновщика я так понял не обойтись..И лучше сделай отдельным виджетом. Тебе самому удобнее будет. Спасибо за помощь..! P.S. Теперь думаю как сделать так чтобы размер шрифта допустим в lable изменялся при уменьшении/увеличении размеров окна. Название: Re: Вопрос о компановке Отправлено: andrew.k от Ноябрь 04, 2011, 12:07 Нет.
Сделай отдельный виджет для "кирпичика". На форме сделай promote to widget, не знаю как по русски называется. Тогда у тебя код вида Код
заменится на Код
Это немного удобнее. Название: Re: Вопрос о компановке Отправлено: kambala от Ноябрь 04, 2011, 14:28 да и всё равно для масштабирования всего при изменении размеров окна без компоновщика я так понял не обойтись.. на свой виджет ("кирпичик") накидываешь компоновщик, а в главном окне компонуешь эти свои виджеты (например через QGridLayout)P.S. Теперь думаю как сделать так чтобы размер шрифта допустим в lable изменялся при уменьшении/увеличении размеров окна. переопредели resizeEvent() своего виджетаНазвание: Re: Вопрос о компановке Отправлено: andrew.k от Ноябрь 04, 2011, 14:55 А если не делать свой виджет, который умеет сам изменять размер шрифта по resizeEvent.
Придется некрасиво извращаться. Тут однозначно делай свой виждет. |