×
Namespaces

Variants
Actions
(Difference between revisions)

通过qtmobility 获取设备的电量

From Nokia Developer Wiki
Jump to: navigation, search
vipwx (Talk | contribs)
m (symbian下通过qtmobility 获取设备的电量)
 
vipwx (Talk | contribs)
Line 4: Line 4:
  
 
然后我们可以利用Qt Creato 的UI编辑器拖动Progress Bar 来展示出来。
 
然后我们可以利用Qt Creato 的UI编辑器拖动Progress Bar 来展示出来。
 +
== 编辑pro文件 ==
 +
 +
<code cpp>
 +
CONFIG += mobility
 +
MOBILITY = systeminfo
 +
</code>
 +
 +
MOBILITY = systeminfo 说明我们是想要获取系统的信息
 +
 +
如果你是在Symbian上的话还需要添加下面信息
 +
 +
<code cpp>symbian {
 +
TARGET.UID3 = 0xed0c3660
 +
# TARGET.CAPABILITY +=
 +
TARGET.EPOCSTACKSIZE = 0x14000
 +
TARGET.EPOCHEAPSIZE = 0x020000 0x800000
 +
}</code>
 +
 +
UID3 这些你在创建工程的时候选择 创建mobile工程就会自动生成,当然你需要安装Symbian SDK
 +
 +
==编辑界面==
 +
然后我们可以添加一个进度条来显示当前电量
 +
 +
选中Qt Creator里面你的工程的Edit 然后打开UI设计器
 +
 +
 +
[[File:Qtmobility.jpg]]
 +
 +
如图所示添加一个Progress Bar 设置 objectName 为 batteryLevelBar
 +
 +
简单界面完成
 +
 +
==添加代码==
 +
首先在.h文件
 +
<code cpp>#include <QSystemInfo></code>
 +
然后在添加一个mobility name space
 +
<code cpp>QTM_USE_NAMESPACE</code>
 +
然后在class里面添加一个函数和一个成员
 +
<code cpp>void setupGeneral();
 +
QSystemDeviceInfo *deviceInfo</code>
 +
至此头文件改动完毕
 +
CPP文件:
 +
<code cpp>void BatteryIndicator::setupGeneral()
 +
{
 +
deviceInfo = new QSystemDeviceInfo(this);
 +
 +
ui->batteryLevelBar->setValue(deviceInfo->batteryLevel());
 +
 +
connect(deviceInfo, SIGNAL(batteryLevelChanged(int)),
 +
ui->batteryLevelBar, SLOT(setValue(int)));
 +
}</code>
 +
 +
然后在构造的时候调用这个函数,代码如下
 +
 +
<code cpp>BatteryIndicator::BatteryIndicator(QWidget *parent) :
 +
QDialog(parent),
 +
ui(new Ui::BatteryIndicator),
 +
deviceInfo(NULL)
 +
{
 +
ui->setupUi(this);
 +
setupGeneral();
 +
}</code>
 +
==效果==
 +
OK 已经完成了,很简单吧。编译看看效果
 +
 +
[[File:Qtmobility2.jpg]]

Revision as of 12:22, 27 December 2010

Contents

概述

qtmobility 提供了QSystemDeviceInfo这个类,我们可以很简单的获得设备的一些信息

然后我们可以利用Qt Creato 的UI编辑器拖动Progress Bar 来展示出来。

编辑pro文件

CONFIG += mobility
MOBILITY = systeminfo

MOBILITY = systeminfo 说明我们是想要获取系统的信息

如果你是在Symbian上的话还需要添加下面信息

symbian {
TARGET.UID3 = 0xed0c3660
# TARGET.CAPABILITY +=
TARGET.EPOCSTACKSIZE = 0x14000
TARGET.EPOCHEAPSIZE = 0x020000 0x800000
}

UID3 这些你在创建工程的时候选择 创建mobile工程就会自动生成,当然你需要安装Symbian SDK

编辑界面

然后我们可以添加一个进度条来显示当前电量

选中Qt Creator里面你的工程的Edit 然后打开UI设计器


Qtmobility.jpg

如图所示添加一个Progress Bar 设置 objectName 为 batteryLevelBar

简单界面完成

添加代码

首先在.h文件

#include <QSystemInfo>

然后在添加一个mobility name space

QTM_USE_NAMESPACE

然后在class里面添加一个函数和一个成员

void setupGeneral();
QSystemDeviceInfo *deviceInfo

至此头文件改动完毕 CPP文件:

void BatteryIndicator::setupGeneral()
{
deviceInfo = new QSystemDeviceInfo(this);
 
ui->batteryLevelBar->setValue(deviceInfo->batteryLevel());
 
connect(deviceInfo, SIGNAL(batteryLevelChanged(int)),
ui->batteryLevelBar, SLOT(setValue(int)));
}

然后在构造的时候调用这个函数,代码如下

BatteryIndicator::BatteryIndicator(QWidget *parent) :
QDialog(parent),
ui(new Ui::BatteryIndicator),
deviceInfo(NULL)
{
ui->setupUi(this);
setupGeneral();
}

效果

OK 已经完成了,很简单吧。编译看看效果

Qtmobility2.jpg

144 page views in the last 30 days.
×