如何在Qt中删除联系人
hamishwillee
(Talk | contribs) m (Text replace - "Category:MeeGo" to "Category:MeeGo Harmattan") |
hamishwillee
(Talk | contribs) m (Hamishwillee - Bot update - Fix metadata) |
||
| Line 1: | Line 1: | ||
| − | [[Category:Qt]][[Category:Qt Mobility]][[Category:Code | + | [[Category:Qt]][[Category:Qt Mobility]][[Category:Code Snippet]][[Category:Code Snippet]][[Category:Lang-Chinese]] |
| − | {{ArticleMetaData | + | {{ArticleMetaData <!-- v1.2 --> |
|sourcecode= <!-- Link to example source code e.g. [[Media:The Code Example ZIP.zip]] --> | |sourcecode= <!-- Link to example source code e.g. [[Media:The Code Example ZIP.zip]] --> | ||
|installfile= <!-- Link to installation file (e.g. [[Media:The Installation File.sis]]) --> | |installfile= <!-- Link to installation file (e.g. [[Media:The Installation File.sis]]) --> | ||
| Line 7: | Line 7: | ||
|platform= <!-- Compatible platforms - e.g. Symbian^1 and later, Qt 4.6 and later --> | |platform= <!-- Compatible platforms - e.g. Symbian^1 and later, Qt 4.6 and later --> | ||
|devicecompatability= <!-- Compatible devices e.g.: All* (must have internal GPS) --> | |devicecompatability= <!-- Compatible devices e.g.: All* (must have internal GPS) --> | ||
| − | |dependencies= <!-- Any other/external dependencies e.g.: Google Maps Api v1.0 --> | + | |dependencies= <!-- Any other/external dependencies e.g.: Google Maps Api v1.0 --> |
| − | |signing=<!-- Signing requirements - empty or one of: Self-Signed, DevCert, Manufacturer --> | + | |signing= <!-- Signing requirements - empty or one of: Self-Signed, DevCert, Manufacturer --> |
| − | |capabilities=<!-- Capabilities required by the article/code example (e.g. Location, NetworkServices. --> | + | |capabilities= <!-- Capabilities required by the article/code example (e.g. Location, NetworkServices. --> |
|keywords= <!-- APIs, classes and methods (e.g. QSystemScreenSaver, QList, CBase --> | |keywords= <!-- APIs, classes and methods (e.g. QSystemScreenSaver, QList, CBase --> | ||
| − | + | |language= Lang-Chinese | |
| − | |language=Lang-Chinese | + | |translated-by= [[User:Hoolee]] |
| − | |translated-by=[[User:Hoolee]] | + | |translated-from-title= Removing contact in Qt |
| − | |translated-from-title= | + | |translated-from-id= 74922 <!-- automated guess --> |
| − | |translated-from-id=74922 <!-- automated guess --> | + | |review-by= <!-- After re-review: [[User:username]] --> |
| − | |review-by=<!-- After re-review: [[User:username]] --> | + | |review-timestamp= <!-- After re-review: YYYYMMDD --> |
| − | |review-timestamp=<!-- After re-review: YYYYMMDD --> | + | |update-by= <!-- After significant update: [[User:username]]--> |
| − | |update-by=<!-- After significant update: [[User:username]]--> | + | |update-timestamp= <!-- After significant update: YYYYMMDD --> |
| − | |update-timestamp=<!-- After significant update: YYYYMMDD --> | + | |creationdate= 20100528 |
| − | |creationdate=20100528 | + | |author= [[User:Tepaa]] |
| − | |author=[[User:Tepaa]] | + | |
}} | }} | ||
| Line 95: | Line 94: | ||
==相关参考== | ==相关参考== | ||
| − | * [[ | + | * [[Setting up Qt Mobility]] |
| − | * http://doc.qt.nokia.com/qtmobility-1.0/contacts.html | + | * http://doc.qt.nokia.com/qtmobility-1.0/contacts.html[[Category:MeeGo Harmattan]] [[Category:Symbian]] |
| − | <!-- Translation --> [[en: | + | <!-- Translation --> [[en:Removing contact in Qt]] |
Revision as of 08:45, 15 August 2012
文章信息
Contents |
概述
下列代码片段演示了如何使用Qt Mobility的联系人模块来删除联系人数据
Qt工程文件
CONFIG += mobility
MOBILITY = contacts
symbian {
TARGET.CAPABILITY = ReadUserData WriteUserData
}
头文件
// QtMobility
#include <qcontactmanager.h>
#include <qcontact.h>
#include <qcontactdetailfilter.h>
#include <qcontactphonenumber.h>
QTM_USE_NAMESPACE
源文件
// 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()));
}
}
}
后记
联系人成功删除

