Spec-Zone.ru › Qt 5.15

Тип QML ExtendedAttributes

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

Оператор импорта: import QtLocation 5.15
С момента: QtLocation 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 напрямую или повторно назначить свойство 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.

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

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

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

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

Примечание: Соответствующая обработчик — onValueChanged.

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

значение keys()

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

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

Spec-Zone.ru

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