Я использую этот код и получаю контактные данные только одного человека ....
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 ответа
Если вы хотите распечатать их все, вам следует перебрать 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
foreach(const QContact contact, contacts){...}
?
Мне очень помогли ...... Спасибо ...... :)
Просто модификация это:
QList<QContactLocalId> contacts = contactManager->contactsIds();
Не
QList<QContactLocalId> contacts = contactManager->contacts();
Чтобы получить список контактов 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
}
}
}
Похожие вопросы
Связанные вопросы
Новые вопросы
qt
Qt - это кроссплатформенная среда разработки приложений, широко используемая для разработки прикладного программного обеспечения, которая может работать на различных программных и аппаратных платформах с минимальными изменениями в базовом коде или без таковых, при этом обладая мощью и скоростью собственных приложений. Qt доступен как с коммерческими, так и с открытыми лицензиями.