Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3430081
  • 博文数量: 864
  • 博客积分: 14125
  • 博客等级: 上将
  • 技术积分: 10634
  • 用 户 组: 普通用户
  • 注册时间: 2007-07-27 16:53
个人简介

https://github.com/zytc2009/BigTeam_learning

文章分类

全部博文(864)

文章存档

2023年(1)

2021年(1)

2019年(3)

2018年(1)

2017年(10)

2015年(3)

2014年(8)

2013年(3)

2012年(69)

2011年(103)

2010年(357)

2009年(283)

2008年(22)

分类: C/C++

2011-01-21 17:01:16

%E7%94%A8Qt%E6%8E%A7%E5%88%B6Symbian_Device%E9%9C%87%E5%8A%A8

标准Qt API并没有为我们提供控制Symbian设备震动的接口,包括现在的Qt Mobility 1.0.2,以及将来的Qt Mobility 1.1也都没有为我们提供相应的接口。

那么本文将为大家提供一个非常简单实用的Qt API,来控制Symbian设备震动。所有源码以及例程都可以通过本文末尾所附链接下载。本例程大部分源码得益于,以及Liuxg的指导,在此表示感谢。

下面就具体为大家讲解如何使用这个API。


[] 将API源码加入工程

首先,解压附件VibraFN.zip 得到VibraFN文件夹,然后将VibraFN文件夹里的VibraX文件夹整体拷贝到当前Qt工程的根目录。
然后修改pro文件,将API源码添加进去:

SOURCES += VibraX\xqvibra.cpp \
VibraX\xqvibra_p.cpp
 
HEADERS += VibraX\xqvibra.h \
VibraX\xqvibra_p.h

[] 加入库文件

由于API中使用到了Symbian的库,所以我们还有在pro文件中加入:

LIBS += -lhwrmvibraclient

[] 在代码中使用vibra API

做好了前期准备工作,我们下面就可以在代码中使用这个API来控制设备的震动了。 首先在需要使用的地方引入API头文件

#include "xqvibra.h"

然后创建一个XQVibra的对象。例如:

XQVibra m_vibra;

然后就可以使用它了,使用是非常直观和方便的,例如:

m_vibra.start(ui->sliderDuration->value() * 100);  //开始震动,参数为int型,代表持续时间,单位为毫秒
m_vibra.stop(); //停止震动
m_vibra.setIntensity(int); //设置震动强度,范围为-100 ~ +100

并且m_vibra在状态发生改变的时候会发送信号:

void statusChanged(XQVibra::Status status);

共有三种状态,分别是:StatusNotAllowed, StatusOff, StatusOn。


阅读(1130) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~