2010-11-08 28 views
0

J'ai trouvé quelque chose comme ci-dessous sur le netComment puis-je obtenir des informations téléphoniques dans QT? (Support, modèle de l'appareil, le fabricant de l'appareil)

//Get S60 version and display it on label 
switch (QSysInfo::s60Version()) 
{ 
    case QSysInfo::SV_S60_3_1: return "S60 version: S60 3.1"; 
    case QSysInfo::SV_S60_3_2: return "S60 version: S60 3.2"; 
    case QSysInfo::SV_S60_5_0: return "S60 version: S60 5.0"; 
    case QSysInfo::SV_S60_Unknown: return "S60 version: S60 Unknown"; 
    default: 
    break; 
} 

//Get OS version and display it on label 
switch (QSysInfo::symbianVersion()) 
{ 
    case QSysInfo::QSysInfo::SV_9_2: return "Symbian OS version: 9.2"; 
    case QSysInfo::SV_9_3: return "Symbian OS version: 9.3"; 
    case QSysInfo::SV_9_4: return "Symbian OS version: 9.4"; 
    case QSysInfo::SV_Unknown: return "Symbian OS version: Unknown"; 
    default: 
    break; 
} 

mais cela ne compile pas que la classe QSysInfo ne possède pas la méthode s60Version, ni la version symbian - I seulement obtenir VersionWindows ...

+0

Quelle version de Qt, sur quelle plateforme? – laalto

+0

dernier QT sur S^3 – argh

+0

Il devrait avoir 's60Version()' alors. Mais seulement lorsque vous compilez pour un émulateur Symbian ou une cible de périphérique. La cible du simulateur est Windows, par exemple 'Q_OS_SYMBIAN' n'est pas défini. – laalto

Répondre

5

Ok, trouvé - pour tout le monde qui a besoin de ce genre de choses:

QString carrierName = QSystemNetworkInfo::networkName(QSystemNetworkInfo::GsmMode); 

QtMobility::QSystemDeviceInfo* d = new QtMobility::QSystemDeviceInfo(this); 
QString imei = d->imei(); 
QString manufacturer = d->manufacturer(); 
QString model = d->model(); 
delete d; 

QtMobility::QSystemInfo* s = new QtMobility::QSystemInfo(this); 
QString osVer = s->version(QSystemInfo::Os); 
delete s; 

espoir que cela aide quelqu'un :) cheers!