Команда (фрилансеры)

Набираем команду фрилансеров, Вы:

  • Программист,
  • Дизайнер,
  • SEO-специалист,
  • Менеджер

Разработка на заказ

Наша команда фрилансеров выполнит
работы на заказ:

Создание и раскрутка сайтов
Разработка приложений (мобайл, десктоп, сервер)
Разработка игр (веб, мобайл, 3D)
Аутсорсинг, фриланс

Контакты
vk.com/sitev_ru
Skype: sitev.ru
E-mail: mike@sitev.ru
github.com/sitev

Рейтинг@Mail.ru

Besucherzahler
счетчик посещений
Сайт на C++
Наш сайт работает на C++ и это очень круто! =))

Позиционирование элементов QML. Урок 4

Разработка пользовательского интерфейса UI предполагает позиционирование элементов приятное для глаз пользователя. Мы можем просто задать элементу параметры left, top, right, bottom в виде числовых значений.

Однако, при изменений размеров окна, элементы и их размеры останутся на своих местах, что будет выглядеть уже не так красиво. Поэтому в QML используют разметку с помощью якорей Anchors.

Каждый элемент имеет следующие "якорные линии": left, horizontalCenter, right, top, verticalCenter, и bottom:

Давайте привяжем левую сторону прямоугольника rect2 к правой прямоугольника rect1:

Rectangle { 
	id: rect1
}
Rectangle { 
	id: rect2
	anchors.left: rect1.right
}

это будет выглядеть так:

Укажем несколько якорей:

Rectangle { 
	id: rect1 
}
Rectangle { 
	id: rect2 
	anchors.left: rect1.right
	anchors.top: rect1.bottom
}

Вернёмся к 1-ой привязке и добавим ещё один rect3, свяжем с ним rect2 по левой стороне:

Rectangle { 
	id: rect1
	x: 0
}
Rectangle { 
	id: rect2
	anchors.left: rect1.right
	anchors.right: rect3.left
}
Rectangle { 
	id: rect3; 
	x: 150
}

Как мы видим, в зависимости от расположения синих прямоугольников, красный прямоугольник меняется в размере.

В QML существует седьмая "якорная линия" baseline, она соответствует воображаемой линии, на которой помещается текст. Для элементов без текста - это линия top.

Якоря anchors.fill и anchors.centerIn придумали для удобства. Первый устанавливает сразу все left, right, top и bottom якоря к целевому элементу, а второй аналогичен использованию verticalCenter и horizontalCenter одновременно, то есть по центру.

Anchors Margins (Поля) и Offsets (смещения)

Система якорей позволяет устанавливать поля - пустое пространство между якорной линией и элементом. Поля можно указать для каждого якоря через leftMargin, rightMargin, topMargin, bottomMargin или использовать anchors.margins для всех четырёх сторон.

Например, укажем anchors.leftMargin равный 5-ти точкам:

Rectangle { 
	id: rect1
}
Rectangle { 
	id: rect2
	anchors.left: rect1.right
	anchors.leftMargin: 5
}

Установка смещений позволяет управлять позиционированием в QML с помощью центра якорных линий: horizontalCenterOffset, verticalCenterOffset и baselineOffset.


Отправить комментарий
Наш проект: язык Cj
Cj - язык программирования (C++ & Javascript)
Новый язык программирования, для разработки веб, мобайл, десктоп-приложений, игр... подробнее...

Хотите поддержать проект?

  • Оставляйте ссылки на наш сайт
  • Станьте спонсором проекта
подробнее...

Концепция SITEV.ru

SITEV.ru - это социальная сеть для ИТ-специалистов (программистов, дизайнеров, seo-специалистов, рекламных менеджеров, маркетологов), в том числе фрилансеров, бизнесменов... а также обычных пользователей, для которых и делается ИТ

Реклама


Поиск работы по всему миру