如何在Qt中删除联系人

From Qt Wiki
Jump to navigation Jump to search

Template:ArticleMetaData


概述[edit | edit source]

下列代码片段演示了如何使用Qt Mobility的联系人模块来删除联系人数据

Qt工程文件[edit | edit source]

CONFIG += mobility MOBILITY = contacts

symbian { TARGET.CAPABILITY = ReadUserData WriteUserData }

头文件[edit | edit source]

// QtMobility

  1. include <qcontactmanager.h>
  2. include <qcontact.h>
  3. include <qcontactdetailfilter.h>
  4. include <qcontactphonenumber.h>

QTM_USE_NAMESPACE

源文件[edit | edit source]

// Create manager (Symbian backend) QContactManager contactManager("symbian");

// Search contact by phone number QContact contact; // Filter for search QContactDetailFilter phoneFilter; phoneFilter.setDetailDefinitionName(QContactPhoneNumber::DefinitionName,

   QContactPhoneNumber::SubTypeMobile);

phoneFilter.setValue("0503654295"); phoneFilter.setMatchFlags(QContactFilter::MatchPhoneNumber);

// Find contacts QList<QContact> matchingContacts = contactManager.contacts(phoneFilter); if (matchingContacts.size() != 0) {

   contact = matchingContacts.at(0);

}

// Remove contact if (!contact.isEmpty()) {

   if (QMessageBox::Yes == QMessageBox::question(this,"Contact",
       QString("Do you want to remove contact: %1").arg(contact.displayLabel()),
       QMessageBox::Yes|QMessageBox::No)) {
       bool ret = contactManager.removeContact(contact.localId());
       if (!ret) {
           QMessageBox::information(this, "Failed!",
           QString("Failed to remove contact!\n(error code %1)")
           .arg(contactManager.error()));
           }
   }

}

后记[edit | edit source]

联系人成功删除

相关参考[edit | edit source]

en:Removing contact in Qt