联系详细信息 QML 类型

The ContactDetails type holds contact details for a Place. 更多...

导入声明import QtLocation 6.7
QtLocation 5.5

方法

详细描述

联系详细信息类型是一个 contactDetail 对象的映射。为了访问映射中的联系详细信息,请使用 keys() 方法获取存储在映射中的键的列表,然后使用 [] 操作符来访问 contactDetail 项。

API 中已定义以下键。 插件 实现可以自由定义额外的键。

  • phone
  • fax
  • email
  • website

联系详细信息实例仅在 地点 的上下文中使用。无法直接创建联系人详细信息实例或重新分配联系人详细信息实例到 地点。只能通过 JavaScript 修改联系人详细信息。

示例

以下示例显示了如何访问所有联系的详细信息并将它们打印到控制台

import QtPositioning
import QtLocation

function printContactDetails(contactDetails) {
    var keys = contactDetails.keys();
    for (var i = 0; i < keys.length; ++i) {
        var contactList = contactDetails[keys[i]];
        for (var j = 0; j < contactList.length; ++j) {
            console.log(contactList[j].label + ": " + contactList[j].value);
        }
    }
}

返回的联系详细信息列表是一个 对象列表,因此可以直接用作数据模型。例如,以下示例演示了如何在列表视图中显示联系人的电话号码列表

import QtQuick
import QtPositioning
import QtLocation

ListView {
    model: place.contactDetails.phone;
    delegate: Text { text: modelData.label + ": " + modelData.value }
}

以下示例演示了如何在 JavaScript 中将单个电话号码分配给地点

function writeSingle() {
    var phoneNumber = Qt.createQmlObject('import QtLocation; ContactDetail {}', place);
    phoneNumber.label = "Phone";
    phoneNumber.value = "555-5555"
    place.contactDetails.phone = phoneNumber;
}

以下演示了如何在 JavaScript 中将多个电话号码分配给地点

function writeMultiple() {
    var bob = Qt.createQmlObject('import QtLocation; ContactDetail {}', place);
    bob.label = "Bob";
    bob.value = "555-5555"

    var alice = Qt.createQmlObject('import QtLocation; ContactDetail {}', place);
    alice.label = "Alice";
    alice.value = "555-8745"

    var numbers = new Array();
    numbers.push(bob);
    numbers.push(alice);

    place.contactDetails.phone = numbers;
}

方法文档

variant keys()

返回一个存储在映射中的联系人详细信息键的数组。


© 2024 The Qt Company Ltd. 本文档中的文档贡献的版权分别为各自所有者所有。提供的文档按自由软件基金会发布的 GNU 自由文档许可证版本 1.3 的条款提供。Qt 和各自的标志是芬兰和/或其他国家的 The Qt Company Ltd. 的 商标。所有其他商标均为其各自所有者的财产。