×
Namespaces

Variants
Actions
(Difference between revisions)

通过qtmobility 获取设备的电量

From Nokia Developer Wiki
Jump to: navigation, search
hamishwillee (Talk | contribs)
m (Hamishwillee - Addition to article of: Category:MeeGo Category:Symbian. (Add platform categories))
hamishwillee (Talk | contribs)
m (Text replace - "Category:MeeGo" to "Category:MeeGo Harmattan")
Line 93: Line 93:
 
OK 已经完成了,很简单吧。编译看看效果
 
OK 已经完成了,很简单吧。编译看看效果
  
[[File:Qtmobility2.jpg]][[Category:MeeGo]] [[Category:Symbian]]
+
[[File:Qtmobility2.jpg]][[Category:MeeGo Harmattan]] [[Category:Symbian]]

Revision as of 13:59, 13 June 2012

Article Metadata

兼容于
平台:
Symbian

文章
vipwx 在 27 Dec 2010 创建
最后由 hamishwillee 在 13 Jun 2012 编辑

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

131 page views in the last 30 days.

Was this page helpful?

Your feedback about this content is important. Let us know what you think.

 

Thank you!

We appreciate your feedback.

×