Spec-Zone.ru › Qt 5.9

Тип QML ExtendedAttributes

Тип ExtendedAttributes хранит дополнительные данные о месте. Подробнее...

Заявление об импорте: import QtLocation 5.3
С момента: Qt Location 5.5
Инициализирует: QQmlPropertyMap
  • Список всех членов, включая наследуемые члены

Сигналы

  • void valueChanged(строка ключ, вариант значение)

Методы

  • вариант keys()

Подробное описание

Тип ExtendedAttributes представляет собой словарь PlaceAttributes. Для доступа к атрибутам в словаре используйте метод keys() для получения списка ключей, хранящихся в словаре, и используйте оператор [] для доступа к элементам PlaceAttribute.

Ниже приведены стандартные ключи, определенные API. Реализации плагинов могут определять дополнительные ключи. Пользовательские ключи должны быть квалифицированы уникальным префиксом, чтобы избежать конфликтов.

ключ описание
openingHours Часы работы места
payment Типы оплаты, принимаемые местом, например, Visa, Mastercard.
x_provider Имя поставщика, от которого получены данные о месте
x_id_<provider> (например, x_id_here) Альтернативный идентификатор, который идентифицирует место с точки зрения указанного поставщика.

Некоторые плагины могут вообще не поддерживать атрибуты, другие могут поддерживать только определенный набор, другие — динамически изменяемый набор атрибутов со временем или даже возможность произвольного определения атрибутов приложением-клиентом. Атрибуты также могут различаться в зависимости от места, например, у одного места могут быть часы работы, а у другого — нет. Обратитесь к ссылкам на плагины для получения подробной информации.

Некоторые атрибуты могут быть не предназначены для чтения конечными пользователями; поле метки таких атрибутов пусто, чтобы указать этот факт.

Примечание: экземпляры ExtendedAttributes используются только в контексте мест. Невозможно создать экземпляр ExtendedAttributes напрямую или повторно назначить свойство Place's ExtendedAttributes. Изменение ExtendedAttributes может быть выполнено только через Javascript.

Следующий пример показывает, как получить доступ ко всем PlaceAttributes и вывести их в консоль:

import QtPositioning 5.5
import QtLocation 5.6

function printExtendedAttributes(extendedAttributes) {
    var keys = extendedAttributes.keys();
    for (var i = 0; i < keys.length; ++i) {
        var key = keys[i];
        if (extendedAttributes[key].label !== "")
            console.log(extendedAttributes[key].label + ": " + extendedAttributes[key].text);
    }
}

Следующий пример показывает, как назначить и изменить атрибут:

    //assign a new attribute to a place
    var smokingAttrib = Qt.createQmlObject('import QtLocation 5.3; PlaceAttribute {}', place);
    smokingAttrib.label = "Smoking Allowed"
    smokingAttrib.text = "No"
    place.extendedAttributes.smoking = smokingAttrib;

    //modify an existing attribute
    place.extendedAttributes.smoking.text = "Yes"

См. также PlaceAttribute и QQmlPropertyMap.

Документация по сигналам

void valueChanged(строка ключ, variant значение)

Этот сигнал излучается при изменении набора атрибутов. ключ соответствует значению, которое было изменено.

Соответствующий обработчик — onValueChanged.

Документация по методам

variant keys()

Возвращает массив ключей атрибутов места, хранящихся в словаре в данный момент.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.9/qml-qtlocation-extendedattributes.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API