Spec-Zone.ru › Qt 5.14

Тип ExtendedAttributes QML

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

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

Сигналы

  • void valueChanged(ключ, variant значение)

Методы

  • variant keys()

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

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

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

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

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

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

Примечание: Экземпляры ExtendedAttributes используются только в контексте мест. Невозможно напрямую создать экземпляр ExtendedAttributes или переназначить свойство 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.14/qml-qtlocation-extendedattributes.html

Spec-Zone.ru

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