第一个商业化MeeGo平板WebTab正式发布

作者:chinakr
日期:2011-02-27

信息来源(英文):http://blog.qt.nokia.com/2011/02/23/first-meego-tablet/

在MeeGo发布6个月后,第1个商业化的Qt手持设备WebTab诞生了。
没错,这款开源产品从设计到生产只花了6个月时间。
WebTab由Intel和开源社区提供支持。

WebTab侧面图WebTab正面图

WebTab拥有11.6″宽屏触屏和1.66GHz Intel Atom处理器,提供了USB接口、HDMI接口和SD读卡器,运行Qt应用程序。

Qt已经在汽车、家电和工业设备中得到了广泛应用。

WebTab的官方网站(http://wetab.mobi/en/developers/)提供了:

WebTab OS的源代码
Web Tab OS SDK(基于Qt 4.7(使用C++语言),包含了Qt Quick(使用QML语言,一种类似JavaScript的语言))
模板
API文档

通过这些资料,你可以轻松地为WebTab制作小应用和Widget。

如果有可能,我真想把这款设备引入国内:D

(欢迎转载,转载请注明作者和出处;chinakr的开源技术博客:http://blog.quickbest.net)

在Windows 7下使用Eric4开发PyQt程序时出现’module’ object has no attribute ‘StackedWidget’错误

作者:chinakr
日期:2011-02-16

软件环境:Windows 7,Eric4,PyQt

在按照Eric4 Python IDE官方网站的MiniBroser tutorial实践时,生成对话框代码的时候会出现’module’ object has no attribute ‘StackedWidget’错误。

通过Google“’module’ object has no attribute ‘StackedWidget’”找到了原因:

使用pyqt4在eric 5 IDE时 出现’module’ object has no attribute ‘StackedWidget’错误的
http://hi.baidu.com/tisiem/blog/item/ce9de9c8a25ce5047e3e6f20.html

原来这是PyQt4的一个Bug!

按照上述文章的提示,找到C:\Python27\lib\site-packages\PyQt4\uic\quparser.py这个文件,在第16行把“StackedWidget“修改为”QStackedWidget“,重启Eric4,再生成对话框代码时就没有’module’ object has no attribute ‘StackedWidget’这个错误提示了!

(欢迎转载,转载请注明作者和出处;chinakr的技术博客:http://blog.quickbest.net)

QWebView在Ubuntu 10.10的Qt Designer中找不到的问题

作者:chinakr
日期:2011-02-16

软件环境:Ubuntu 10.10,eric 4.4.4a-1,pyqt4-dev-tools 4.7.4-0ubuntu1,qt4-designer 4.7.0-0ubuntu4.2

在按照Eric Python IDE官方提供的tutorial “MiniBrower”学习实践过程中,
碰到了在Qt Deisgner中找不到QWebView控件的问题。

Eric Python IDE官方的tutorial:
http://eric-ide.python-projects.org/eric-tutorials.html

Eric Python IED MiniBrower tutorial中添加QWebView控件的内容:
http://eric-ide.python-projects.org/tutorials/MiniBrowser/chapter2.html

通过搜索,发现应该是Ubuntu的Qt的Bug,很多开发者也碰到了这个问题。

QWebView widget missing in designer
https://bugs.launchpad.net/ubuntu/+source/qtwebkit-source/+bug/674367
(Google关键字:QWebView Ubuntu)

解决方法是手动添加libqwebview.so这个库文件。

qt-creator 中添加QWebView控件
http://hi.baidu.com/bookpage/blog/item/3153341cb7f40d9886d6b6f5.html
(Google关键字:libqwebview.so Ubuntu)

下载Ubuntu lucid上的libqt4-webkit软件包:
libqt4-webkit_4.6.2-0ubuntu5.1_i386.deb
http://packages.ubuntu.com/zh-cn/lucid-updates/i386/libqt4-webkit/download
(Google关键字:libqwebview.so download)

解压得到libqwebview.so,拷贝到系统库文件目录下:
$ sudo cp libqwebview.so /usr/share/qt4/plugins/designer/

重新启动Qt Designer,这个时候已经可以找到QWebView控件了。

(欢迎转载,转载请注明作者和出处;chinakr的技术博客:http://blog.quickbest.net)

pivoFUL PBH-A300蓝牙耳机和华为U8500手机快速配对使用指南

作者:chinakr
日期:2011-02-13

1. 接上充电器给PBH-A300蓝牙耳机充电。

2. 长按PBH-A300蓝牙耳机的功能键(有pivoFUL标志的那个按钮)直到蓝色的指示灯常亮。

3. 在华为U8500手机上进入“Menu -> 无线和网络 -> 蓝牙设置”,选择“蓝牙”,然后选择和PBH-A300蓝牙耳机配对(我这里显示的设备名称是“00:13:EF:00:73:6F”),即可正常使用。

提示:
1. 如果手机有来电,按一下蓝牙耳机的功能键即可接听。
2. 通话过程中按一下蓝牙耳机的功能键即可挂断电话,进入待机状态。
3. 待机状态下快速按两下蓝牙耳机的功能键可以拨出上一个电话(对于通外意外中断的情况很有用)。

注:
pivoFUL PBH-A300蓝牙耳机是深圳浦诺菲公司的产品,标称参数为:工作频率2.4GHz,支持蓝牙2.0规范,持续通话时间4小时,待机时间60小时,充电电压5V。

(欢迎转载,转载请注明作者和出处;chinakr的技术博客:http://blog.quickbest.net)

华为U8500手机Google同步指南

作者:chinakr
日期:2011-02-13

Google关键字:U8500 Google联系人

1. 下载chinaunicom_cn_gms.rar,这是华为官方提供的GMS包。

2. 用USB数据线连接华为U8500手机和电脑,提示自动挂载手机的SD卡。

3. 把chinaunicom_cn_gms.rar中解压得到的dload目录拷贝到华为U8500手机SD卡的根目录下。

4. 关闭华为U8500手机。

5. 同时按住挂机键、音量向上键、电源键打开华为U8500手机,提示自动更新固件。

6. 等待华为U8500手机重启。

7. 华为U8500手机开机后即可正常使用Google帐号同步、Gmail、Google Talk、Google地图和电子市场。

chinaunicom_cn_gms.rar下载地址

提示:如果重启时出现“file backup succ..”提示并且手机数分钟没有反应,拔电池重启即可。

提示:
(华为U8500手机APP快速指南)
1. 桌面的联通图标可以删除。
2. 推荐安装的小工具:10086(移动客服)、手机充值站(Alipay)、超级指南针、北京地铁(by Simon Shi)、全国影讯(全国电影放映时间,by mtime/时光网)、外汇(by FXware)、携程无线、宜家-产品浏览器(Ikea)、有道词典(Youdao)、支付宝(Alipay)、My Tracks(我的足迹)。
3. 推荐安装的阅读软件:QQ阅读、静读天下、VIVA手机杂志、
4. 推荐安装的视频软件:奇艺影视、优酷、土豆。
5. 推荐安装的音乐软件:豆瓣电台、虾米音乐。
6. 推荐安装的小游戏:Angry Birds(疯狂的小鸟)、Fruit Ninjia Kaka(水果忍者)、打企鹅/II、Talking Tom Cat Free(会说话的Tom猫)、xPiano(钢琴,by cyandroid)、黑白棋(by Bluesky Studio)、指尖保龄(Finger Bowling)。

(欢迎转载,转载请注明作者和出处;chinakr的技术博客:http://blog.quickbest.net)

在Sina App Engine(SAE)上部署Yii开发框架

首先注册Sina App Engine的帐号,“体验用户”从注册之日起有一周的测试时间。
(登录并完成一个应用后可以申请“转为正式用户”:http://sae.sina.com.cn/?m=home&a=tab&tab=user_verify )

在Sina App Engine主页的“SDK下载”频道下载SAE SDK for Linux v1.0.4:
http://sae.sina.com.cn/?m=sdk

把下载得到的“SAE_SDK_Linux_Mac_1.0.4.tar.gz”压缩包中的“SAE_SDK_Linux_Mac_1.0.4”目录解压到“~/src/”目录下。

在Ubuntu 10.10下安装PHP5:
$ sudo aptitude install php5

进入刚才创建的SAE SDK目录运行SAE SDK主程序:
$ cd ~/src/SAE_SDK_Linux_Mac_1.0.4/
$ php am.php help

这时将会得到一个am.php的用法简介:

Sina App Engine SDK 1.0.4, power by sae.sina.com.cn
————————————————-
usage: php am.php [args]
SUBCOMMANDS:
……

常用的命令如下:
$ php am.php create -h
$ php am.php upload -h
$ php am.php download -h
$ php am.php downloadall -h
$ php am.php upgrade

在SAE Web后台“我的应用”频道中,创建应用“团购小助手”:
二级域名:tuan800
应用名称:团购小助手
应用描述:自动收集整理团员团购信息

在本地新建“团购小助手”这个应用:
$ php am.php create -i
Please enter your appname: tuan800
Please enter your appversion: 1
Finished!

上传“团购小助手”这个应用:
$ php am.php upload
Using appversion 1
Only upload modified files? (Y/n) y
Please type your password:
***********
sending…
~/src/SAE_SDK_Linux_Mac_1.0.4/apps/tuan800/1/code/index.php 0.03K
done
Total deployed filesize 0.03K, timecost 1.35 seconds
Finished! Deploy successful, Please visit http://1.tuan800.sinaapp.com

测试“团购小助手”这个应用,访问:
http://tuan800.sinaapp.com/
当浏览器窗口中出现“hello world!”时,说明应用已经正常工作了!

到Yii主页的“Download”频道下载Yii框架:
http://www.yiiframework.com/download/

根据“The Definitive Guide to Yii”的介绍安装Yii框架:
http://www.yiiframework.com/doc/guide/1.1/en/quickstart.installation
把下载得到的“yii-1.1.6.r2877.tar.gz”压缩包中的“yii-1.1.6.r2877”目录解压到“~/src/SAE_SDK_Linux_Mac_1.0.4/apps/tuan800/1/code/”目录下。
上传应用:
$ php am.php upload
因为这个版本的Yii框架共有2137个目录和文件,共12.4MB,因此上传时间较长,需要耐心等待。
上传成功的提示是“Total deployed filesize 11.08M, timecost 410.76 seconds. Finished! Deploy successful.”,其中文件尺寸的误差应该是1024进制和1000进制的计算误差。
上传结束后访问:
http://tuan800.sinaapp.com/yii-1.1.6.r2877/requirements/index.php
屏幕截图:
sae_yii_compatibility.jpg
检查结果是“您的服务器配置符合Yii的最低要求。如果您需要使用特定的功能,请关注如下警告。”
具体来说“PHP版本”、“$_SERVER变量”、“Reflection扩展模块”、“PCRE扩展模块”、“SPL扩展模块”等Yii框架必须的项目都通过了检测。
其他通过检测的重要模块有“PDO扩展模块”、“PDO MySQL扩展模块”、“Memcache扩展模块”、“APC扩展模块”和“Mcrypt扩展模块”。
未通过检测的模块有“DOM扩展模块”、“PDO SQLite扩展模块”、“PDO PostgreSQL扩展模块”、“SOAP扩展模块”和“GD extension with FreeType support”。

用Yii框架创建一个测试程序:
$ cd ~/src/SAE_SDK_Linux_Mac_1.0.4/apps/tuan800/1/code/yii-1.1.6.r2877/framework/
$ ./yiic webapp ../../testdrive
Create a Web application under ‘~/src/SAE_SDK_Linux_Mac_1.0.4/apps/tuan800/1/code/testdrive’? [Yes|No] yes
……
$ cd ~/src/SAE_SDK_Linux_Mac_1.0.4/
$ php am.php upload
……
Total deployed filesize 47.31K, timecost 3.48 seconds
……
访问:
http://tuan800.sinaapp.com/testdrive/
遇到“CException”错误,具体提示为:
Application runtime path “/data1/www/htdocs/245/tuan800/1/testdrive/protected/runtime” is not valid. Please make sure it is a directory writable by the Web server process.
在SAE后台的“我的应用->应用管理->代码管理->编辑代码”中发现:
空目录“testdrive/protected/runtime/”没有被上传,这就是导致“CException”错误的原因!
在runtime目录下新建一个空的empty.txt文件就可以解决这个问题。
但是CException错误仍然会出现,搜索后发现是SAE本身的限制——不支持本地文件读写:
http://blog.sina.com.cn/s/blog_502c8cc40100k40e.html
从上文可以看到,需要通过PHP Wrapper来实现对本地文件读写的支持,显然比较麻烦。
因此,本文到此就暂告一段落,等有空的时候再继续。