Как масштабировать виджет в указанном в qt - PullRequest
1 голос
/ 03 декабря 2010

Я разделил мой основной экран на 4 области в виде макета границы по центру, справа, слева и снизу. Правая, левая и нижняя области маленькие и содержат только кнопки. Моя центральная область должна отображать различные виджеты и формы в зависимости от кнопок, нажимаемых в правой / левой / нижней областях.

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

Пожалуйста, обратитесь к приложенному файлу изображения для лучшей идеи.

Если мое объяснение не ясно, пожалуйста, дайте мне знать, что я попробую лучше.

alt text

1 Ответ

1 голос
/ 03 декабря 2010

Похоже, у вас уже есть приличное начало.Если у вас есть только значки, обычно значки не смогут сильно расширяться, поэтому вам нужно, чтобы ваши левый, нижний и правый контейнеры не расширялись.

Центральный контейнер (скорее всего, QStackedWidget в вашем случае) будет расширяться как по горизонтали, так и по вертикали.

Вам также необходимо добавить проставки внизу левой области и правой области.

В нижней части также можно использовать проставки с обеих сторон.

Короче

  • Нижняя область: sizePolicy: предпочтительный / минимальный, максимальныйРазмер: inf / 40
  • Левая область: sizePolicy: минимальный / предпочтительный, максимальныйSize: 40 / inf
  • Правая область:sizePolicy: минимальный / предпочтительный, максимальныйРазмер: 40 / inf
  • Центральная область: sizePolicy: предпочтительный / предпочтительный, максимумРазмер: inf / inf

Вот что можно сделать с помощью перетаскиванияв QtDesigner Designer View

Вот как это выглядит Normal size UI

Вот как это будет выглядеть в развернутом виде.Обратите внимание, что хотя основная область больше, стороны кнопок остаются прежними.Expanded UI

...