как получить список контактов в QT - PullRequest
5 голосов
/ 15 июля 2010

Я использую этот код и получаю контактные данные только одного человека ....

contactManager = new QContactManager();
QList<QContact> contacts = contactManager->contacts();
contacts.detail(QContactPhoneNumber::DefinitionName).value(QContactPhoneNumber::FieldNumber);

QContact a = contactManager->contact(contacts.count());
QContactPhoneNumber no = a.detail<QContactPhoneNumber>();
qDebug() << "Name:" << a.displayLabel() << "Number:" << " " << no.number() ;
UserId = a.displayLabel();
PhoneNumber = no.number();

выход:

Name: andrew Number: +7811341255

но я хочу список контактов, подобных этому

Name: andrew Number: +7811341255
Name: person2 Number: +44124156
Name: person3 Number: +212113

.... список контактов в телефоне любая помощь приветствуется ....

Ответы [ 3 ]

2 голосов
/ 15 июля 2010

Если вы хотите распечатать все из них, вы должны выполнить итерацию по QList, возвращенному QContactManager::contacts().

Это должно помочь вам начать (я просто поделюсь с вами):

// Contacts contains a list of ID:s
QList<QContactLocalId> contacts = contactManager->contacts();

// Now iterate
QList<QContactLocalId>::iterator it;
for (it = contacts.begin(); it != contacts.end(); ++it)
{
  QContact contact = contactManager->contact(*it);
  // And print contact information...
  UserId name = contact.displayLabel();
  PhoneNumber number = contact.number();
  qDebug() << "Name: " << name
           << " Number: " << number << " ";
}

http://doc.qt.nokia.com/qtmobility-1.0-tp/qcontactmanager.html#contacts

http://doc.qt.nokia.com/4.5/qlist.html

http://doc.qt.nokia.com/4.5/qlist-iterator.html

http://www.cppreference.com/wiki/stl/iterators

1 голос
/ 05 сентября 2011

Мне очень помогли ...... Спасибо ......:)

просто модификация это:

QList<QContactLocalId> contacts = contactManager->contactsIds();

не

QList<QContactLocalId> contacts = contactManager->contacts();
0 голосов
/ 12 сентября 2017

Чтобы получить список контактов iOS и Android, вы также можете использовать для этого V-Play SDK. Существует метод nativeUtils.getContacts () , который работает следующим образом:

import VPlayApps 1.0

App {
  AppListView {
    anchors.fill: parent
    model: nativeUtils.getContacts()

    delegate: SimpleRow {
      text: modelData.name
      detailText: modelData.phoneNumber
    }
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...