Working with QSystemDisplayInfo - System Information API
| ID | Creation date | 9-March-2010 | |
| Platform | S60 3rd Edition, FP1, FP2
S60 5th Edition |
Tested on devices | Nokia 5800 xPressMusic |
| Category | Qt for Symbian | Subcategory | Qt Mobility API |
| Keywords (APIs, classes, methods, functions): QSystemDisplayInfo, QString, QButton, QLabel |
Tip:
- Please read this article before moving forward: Setting up environment for Qt Mobility API
- Setup Carbide.c++ IDE as explained in this article: Working with Carbide.c++ IDE for Qt Mobility APIs
Contents |
Overview
This article shows how to use QSystemDisplayInfo API which is a part of the System Information API from Qt Mobility project.
What is covered in QSystemDisplayInfo API
- It is a part of the System Information API.
- This article covers information about
- Color depth value of a screen number in bits per pixel
- Display brightness of screen in % between 1 - 100 scale.
Capabilities required
- None
UI design (.ui file)
Project configuration file (.Pro file)
- Add the Qt Mobility project configuration option in the .Pro file as shown below
CONFIG += mobility
MOBILITY += systeminfo
Implementing QSystemDisplayInfo API
- QSystemDisplayInfo API is a part of the QtMobility namespace. So declare the QtMobility namespace as shown below:
using namespace QtMobility;
Header file
#ifndef SYSTEMDISPLAYINFO_H
#define SYSTEMDISPLAYINFO_H
#include <QtGui/QWidget>
#include "ui_SystemDisplayInfo.h"
#include <qsysteminfo.h>
using namespace QtMobility;
class SystemDisplayInfo : public QWidget
{
Q_OBJECT
public:
SystemDisplayInfo(QWidget *parent = 0);
~SystemDisplayInfo();
public slots:
void listDisplayInformation();
void resetAllFields();
private:
Ui::SystemDisplayInfo ui;
QSystemDisplayInfo* displayInfo;
};
#endif // SYSTEMDISPLAYINFO_H
Source file
#include "SystemDisplayInfo.h"
SystemDisplayInfo::SystemDisplayInfo(QWidget *parent)
: QWidget(parent)
{
ui.setupUi(this);
displayInfo = new QSystemDisplayInfo();
QObject::connect(ui.listDisplayInfoButton,
SIGNAL(clicked()),
this,
SLOT(listDisplayInformation()));
QObject::connect(ui.resetButton,
SIGNAL(clicked()),
this,
SLOT(resetAllFields()));
}
SystemDisplayInfo::~SystemDisplayInfo()
{
delete displayInfo;
displayInfo = NULL;
}
void SystemDisplayInfo::listDisplayInformation()
{
QString colorDepthStr = QString::number(displayInfo->colorDepth(0));
ui.colorDepthLabel->setText(colorDepthStr);
QString brightnessStr = QString::number(displayInfo->displayBrightness(0));
ui.brightnessLabel->setText(brightnessStr);
}
void SystemDisplayInfo::resetAllFields()
{
ui.colorDepthLabel->clear();
ui.brightnessLabel->clear();
}
Output
Useful functions
- int colorDepth ( int screenNumber );
- int displayBrightness ( int screen );
Keywords
Headers
- #include <qsysteminfo.h>
Classes
- QSystemDisplayInfo
- QString
- QButton
- QLabel
Example Application
- A working example application is available to download from here: QSystemDisplayInfo.zip
Related articles
- Getting started with Qt Mobility APIs
- Setting up environment for Qt Mobility API
- Working with Carbide.c++ IDE for Qt Mobility APIs
- Working with QSystemInfo - System Information API - Part 1
- Working with QSystemInfo - System Information API - Part 2
- Working with QSystemDeviceInfo - System Information API - Part 1
- Working with QSystemStorageInfo - System Information API
- Working with QSystemNetworkInfo - System Information API - Part 1
- Working with QSystemNetworkInfo - System Information API - Part 2


