Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: Xenon от Март 04, 2011, 21:40



Название: Как запретить растягиваться вложенный layout
Отправлено: Xenon от Март 04, 2011, 21:40
Доброго времени суток.
Приношу свои извинения за довольно "ламерский" вопрос, но после несколькочасовых поисков в интернете и мучительных экспериментов с дизайнером ответа я так найти и не смог  ???

(http://clip2net.com/clip/m66796/1299263532-clip-52kb.jpg)

Как сделать чтобы левый вертикальный layuot не растягивался по ширине, а растягивалась только правая кнопка?

Заранее благодарю за помощь.


Название: Re: Как запретить растягиваться вложенный layout
Отправлено: Fat-Zer от Март 04, 2011, 21:47
решение влоб: положить туда Виджет и на него уже лейаут


Название: Re: Как запретить растягиваться вложенный layout
Отправлено: Xenon от Март 04, 2011, 22:35
Спасибо. "Влоб" все получилось. Просто у меня довольно сложный интерфейс и получается тогда куча вложенных лайаутов с виджетами. Интересно это значительно скажется на производительности окна? (например при ресайзе)

Есть вопрос тогда раз уж я начал спрашивать; новые темы плодить не буду - спрошу сразу здесь:
    1. Можно ли как-то в QTCreator'е создавать папки проекта как в MS VS? (а то когда куча файлов и все лежат скопом не структурировано это вообще кошмар)
    2. Как видно из рисунка выше, все элементы окна имеют такой же фон как и само окно (я поставил в качестве бекграунда картинку). Как можно в дизайнере в пункте styleSheet установить бекграунд-картинку только непосредственно для самого окна?
    Сейчас у меня background-image: url(:/image/WindowBackground); пробовал и QMainWindow {background-image: url(:/image/WindowBackground)}; и разные комбинации, но ничего не помогало (фон вообще пропадал)


Название: Re: Как запретить растягиваться вложенный layout
Отправлено: Xenon от Март 05, 2011, 00:08
Кстати, есть еще более корректный способ, чем приведенный "влоб": поместить в Form Layout  :) Похоже я сегодня переработался, что столько времени убил, а об этом не додумался....  :-\

Но приведенных выше 2 вопроса все еще актуальны, так что если кто знает, то буду очень признателен за просвещение  :)


Название: Re: Как запретить растягиваться вложенный layout
Отправлено: spirt от Март 05, 2011, 15:37
2. Как видно из рисунка выше, все элементы окна имеют такой же фон как и само окно (я поставил в качестве бекграунда картинку). <...>

В qss окна прописать:
QMainWindow#имя_окна
{
background-image: url(:/image/WindowBackground)
}


Название: Re: Как запретить растягиваться вложенный layout
Отправлено: Xenon от Март 06, 2011, 18:46
В qss окна прописать:
QMainWindow#имя_окна
{
background-image: url(:/image/WindowBackground)
}

Как только указываю как написано выше, то сразу фон в дизайнере пропадает:
(http://clip2net.com/clip/m66796/1299426027-clip-57kb.png)

Хотя если я делаю превью окна по Ctrl+R, то фон отрисовывается так как надо:
(http://clip2net.com/clip/m66796/1299426123-clip-24kb.jpg)

Судя по всему в дизайнер еще не знает что есть #MainWindow? Хотя в ObjectInspector'е отлично видно что относится к данному имени.. Можно как-то сделать чтобы видеть фон в дизайнере при разработке формы? Просто это позволяет удобнее подбирать сочетание цветовой гаммы всех контролов на форме (не надо постоянно Ctrl+R жать).