2010年3月3日星期三

qDou 0.1.0 Released

I can't wait to say that qDou 0.1.0 is Released.You can download here. With powerful GraphicsView and smooth, beauty of Qml,qDou would't let you down.Before first time you play with qDou,you need to register douban's accout and apply for an APIKEY.More Information,you can find here.Please test and give feedback to me in the gruop.
By the way,I will talk about Deploying an application on Windows,especially your app with plugins.
First of all,you can follow the step By the document.Two easy ways to make plugins work out.you can choose anyone of them below .
1.put document named plugins which contains all you need plugins for you app in your applicationDirPath and In main.cpp you add a custom path using QApplication::addLibraryPath like this:
qApp->addLibraryPath(qApp->applicationDirPath()+"./plugins");
2.Using qt.conf
After you deploy your app on Windows with these methods above and your app still failed with loading plugins,It's not your fault.What you need is vcredist_x86.exe.Install it and the problems would be solved.In fact,Qt document refer to the point.
here is the video about qDou ,enjoy.

2010年2月18日星期四

QDou is not far away

Happy chinese new year.For my part,There is one more important thing I can tell you: what tedious days of study ,thought ,practice,experience ,went to the equipment of I who was able to impose upon all of you that QDou is not far away.
Meanwhile,I decided to buy N900 for testing.I can't wait to release QDou,But there is some small problems to consider them.Just give me sometime. :-)
                                          photoview of QDou

2010年1月28日星期四

When Qt for Window meets Qt for Symbian

Today,I install Qt libraries for Symbian again in my computer which has been installed Qt libraries for Windows.Of course,the version(4.6.1) is higher than last time. It reminds me of trouble that happened in the previous time.I just remember it’s a summer of last year.The situation is that every time I build the Symbian apps,the compiler displays a error that can't find bld.inf  and *.mmp .I google it and ask many people how to solve the problem.Later I find that the reason why miss there two important files is that compiler does not generate them.And How to.I didn’t know.So last time,I failed.But today,I make it.Look here,If the environment variable QMAKESPEC sets symbian-abld.It will be ok.It turns out that Qt for Symbian use symbian-abld not the value I set for Qt libraries for windows.
Like aamer4yu says:
"I dont know if you will read this post.. but just wanted to thank you a lot.. a ton of thanks..
I was not able to build qt projects for symbian...and was searching for a solution for almost a month"
A month to aamer4yu,half a year for me.
Why am I interested in Qt for Symbian suddenly?
The answer is QDou. :-)

2010年1月23日星期六

QDou is on the way

I am home for about 1 month, after home, I am going to finish my graduate design: Qdou(Douban client on Symbian).This time I will use Declarative UI to finish it.With this Computer language,you can build the animation rich, fluid user interfaces,such as iphone.But........I am familiar with Qt rather than ECMAScript(QML is an extension to ECMAScript,So is javascript).at the beginning,It's a little difficult for me.Fortunately, there is a document about QML provided by Qt.after viewing document,you will find gradually that it's more convenient in some respects,like automatic property bindings and network transparency.This is what I need.Just like qt engineer says,even if you do not know how to use Qt, you can also program a pretty apps with Qml.Of course,qt would not let us down on extending.Because QML is fully extensible from C++.It's absolutely fantastic property for me. I have completed coding parts of qDou on the pc.From now on,maybe I will speed up.
                 seach ATB's album                                                                             Trilogy(detail)

2010年1月11日星期一

Html view With New QWebElement In Qt 4.6

Take a rest and I look at the "What's New in Qt 4.6"in"Qt Reference Documentation"
and find a new class QWebElement.I feel html view can use a another way to generate the tag node.
Four months age, I make it with QtNetwork and html parser (with QtNetwork to Get page source and Html parser to parse It),I need to code a Html parser because of  no Qwebelement that Time.In this way,Although fast, Coding a html parser is not easy.
And Now, Using QWebElement in Webkit, It's very convenient, although Getting Page source with Qtwebkit will spend longer, it's easier.Just for fun.
the source of  html view is Here.
By the way,QDou is on the way.

2010年1月5日星期二

Video about Html view

I'm home for graduate design Now. Initially, I choosen a subject on the search engines, but later I found that the subject has been already selected by another student, and accidentally I discovered a cell phone related. At this time, Qt 4.6 just released. The next generation of control: Declarative UI can be used on the phone. The subject is "douban mobile phone client",  douban is a Chinese social network site, you can learn about a lot of books, movies, music, or the latest activities in your city. Of course, you can make friends, write diary. surprised.I named my client as "QDou",I think I can take advantage of opportunity to buy a new phone.Maybe 5800 or N97 because of  them for s60v5.
Take a short break and recorded a video about the html view,enjoy.


2009年12月14日星期一

After Optimizing Htmlview


Today,I have optimized Htmlview because of  one bug of Html-parser that takes me long time to find it!!
The reason why the function did't work when I use Htmlview on a webpage,especially one page that contain more than 2000 tags because the results of parser gets contain a few tags in script tag(web Developers can use  regular expression or other expression to help them to deal with web page).So just take these tags from script tag.and It's Ok.Cool.
the related blogs you can find here,take a screennap.Just for jun,It's really really beautiful because each node is generated dynamically.The project integrate physics engine,so it will produce realistic animations.


2009年12月11日星期五

Three Amazing Days

I was worried about my dissertation several days ago and I was concerned about data visualization area.So I wanted to do my dissertation in this area.Because I visited this site:information aesthetics usually , I have been inspired by this Tokyo Cairo: Comparing Obama’s Foreign Policy Speeches
The author of this software build it with process v1.0,and I wrote this software with Qt.To My surprise,I just spend 3 days to achieve my embryonic work.I can't believe it .Maybe I will take visual text comparison as my dissertation.Of course,It looks like simple and I will spend much time to make this tool stronger,And here is a screenshot of My orginal work .At the same time,I will apperiate the inspiration blprnt gave me,Thank you.
visual text comparison tool


the result of two text comparison
the two text is selected from two different sections of  Seven sins (the reason I chosen this Movie beause of spectacular performance of Kevin Spacey)

2009年11月11日星期三

WVisual Search Section Four

今天来说说,关于google map的一个小把戏,先给图


Wvisual Search -- html view (2)


目的就是在拖动google map的时候,可以自动更新中心点的准确位置,当地的天气情况和显示位置的最新资讯,这就是QtWebkit+Google Map v3+Google Weather+Google News的一个小应用。主要使用到了Qtwebkit网页和本地的一个混编,有了Qt网页和本地软件的界限都比较模糊了,现在又出来了QtwebClient(),再给一个web app的demo,机制大家可以看这里,类似于一个java的applet。

先说说实现的过程,初始化Google Map,当然最好有一个本地的Google Map的html本地文件,每次载入更好。在html本地文件中,增加Map的监听事件
google.maps.event.addListenner(map,"center_Changed",centerChanged);
设置一个定时器,每过一段时间去检测一次,如果现在的中心点发生了改变,那么就去解析当前的地址
geocoder.geocode({'latLng':map.get_center()},getAddressName);

地理信息解析到了之后,会自动触发getAddressNamegetAddressNmae传得是一个函数指针(我是这样认为的)

function getAddressName(results,status)
{
addresssresult = results; //addressres是我的一个全局变量
if(status ==google.maps.GeocoderStatus.OK)
{
if(status !=google.maps.GeocoderStatus.ZERO_RESULTS)
{
var c =address[0].formatted_address;
mapNews.getCityName(c);
}
else
{
mapNews.findFailed();
}
}
}

这里的mapNews是我用webkit的在html中增加的一个我的对象,具体做法连接

connect(frame,SIGNAL(javaScriptWindowObjectCleared),this,SLOT(attachObject));
void QMapNews::attachObject()
{
page()->mainFrame()->addToJavaScriptWindowObject("mapNews",this);
}

现在可能你就恍然大悟了 :-)
在我们的本地getCityName之后,对地址进行解析,然后到Google News进行爬取,网址是
http://news.google.cn/news?hl=zh-CN&ie=UTF-8&q=YourAddress

用js做一下处理,
至于天气大致相同,下面是你得到具体位置之后得到该地区天气数据的地址
http://www.google.com/ig/api?hl=zh-cn&weather=,,,%1,%2
%1 %2用该地址的纬度和经度代替,可以在html中使用
var lat =map.get_center().lat();
vat lng =map.get_center().lng();
得到
只不过你访问的时候,Google Weather会返回给你的是一个xml,用QXmlStreamReader进行一下,处理就OK了。

2009年11月4日星期三

WVisual Search Section Three

今天,我要展示一下,所谓的Html view,
Wvisual Search---Four Function其实在我的第一篇blog中aharef: html标签可视化的qt实现过程 ,已经谈到了实现的过程,但是不经意间在网上搜到了这篇文章Websites as GraphsWe need money not art,Markavian开发出了一个remix版本,用户可以对其中的每个点hoverEnter或者hoverleave的时候,会显示标签的内容.
mkv_html graph

我现在的目标跟他相似,只不过我显示的是具体的标签,而不是标签中所以的内容,因为如果现实标签所有的内容的话,这样UI可能会有很大困难,而且我看了一下,如果打开那个applet的话,CPU就50%了,不管生成是否结束,或者网页节点为100个或者2000个,而且我的链接可以点击,并且用默认浏览器打开,实现很简单.......,有了前一篇文章,只需要简单的剔除tag和它的attribute,然后再paintevent画一下,就OK了,不仅可以拖拽节点,cpu也很稳定,这个功能重新增强了之后,已经加入到Wvisual Search中了............have Fun

Wvisual Search -- html view (2)