分类目录归档:Qt开发

Qt的相关开发

KXFW界面库

开源UI库的前因后果。

从2011年后半年就开始写这个UI库了,初衷是为了延续我的第二版UI库。第一版UI库给了酷狗七,该UI库是在负责酷狗七产品开发的过程中仓促完成的,因为项目只有4个月时间开发,然后就要进行产品演示。最后事实也证明赶项目赶出来的架构真的存在太多问题了,而这些问题一直支持着我去开发第二版的UI库。命运之神的按排,让我进入了YY公司,有机缘接触YY的UI库,那时一边学习Qt,一边学习YY的业务开发,曾暗暗自喜:其实我酷狗七的UI库也不算很差嘛。在进行YY的娱乐业务开发的同时,也发现YY的UI架构也有很多问题,而这些问题也被考虑到我的第二版UI库中,当然也会参考它的一些优点。后来因为创业的需要,我离开了YY,那时我的第二版UI库已经完成了,命名为MagicFw库。恰好创业时可以派上用场,可以锤炼我的UI库。我提前与老板商量且承诺:将来这个UI库要开源,要回馈这个互联网,以表达我这么多年只索取没有贡献的愧疚。老板人品很好,也认同我的建议,但要求开源时要”减料”,去除一些关键的模块,且承诺产品赚钱后花30万买下这UI库。就这样创业持续了一年,UI库也修改了好几个版本,日趋完善。

命运之神再次与我开了一个玩笑:创业失败了,团队解散时,老板还欠一个月的工资没给呢。

不久我又上班了,”金山公司”我曾经梦寐以求的公司,而且还是做服务器开发,这是老天爷赐给我的一个学习机会,感恩老天爷的厚爱了。

但我开源计划还没有完成,7月初,我的个人博客域名kxtry.com备案成功了,是阿里云代理备案的,这还要感谢我的一位同事呢,从此网站不用再在海外承受风吹雨打了。

我的UI库也因域名而更名为KXFW界面库,希望有缘者使用得”开心”就好了。

以后我的工作重点会在Linux服务器端,希望将来能再开源一套服务器端的业务架构,计划是基于GO语言。

以下是我的UI描述:

基于Qt的GraphicsView而写的XML-UI界面架构。

1.基本的UI组件,如Label,ComboBox,ProgressBar等常见组件。

2.增加了基于MVC模式的高扩展性的List和Tree控件,已经通过2万多条的记录测试。

3.所有组件都支持XML描述,并依XML控件树结构,生成各种各样的UI界面。

4.可参考kxfw-example的例子开发产品。

 

KXFW仓库:https://github.com/kxtry/kxfw

example仓库:https://github.com/kxtry/kxfw-example

开发环境的安装配置参考:善学记事本,http://www.kxtry.com/?page_id=89

 

一些界面截图:

XML文件描述:

example

 

 

善学记事本

善学记事本

这是一个很普通的树型记事本,是本人编写的第三个记事本程序。

第一个记事本是基于Win32的RichEdit控件,编写到最后困难重重,原因是RichEdit控件对图片和自绘控件受限制很大,很难实现一些高级功能,例如在图片上显示各种各样的按钮或编辑事件。

第二个记事本是基于Win32的自绘控件,实现文档的排版布局控制,包括不同字体不同字号的像素计算,插图的定位运算,段落的重排等,笨重的架构,数不清的已经解决和未解决的BUG,匹夫之力不能持久,最后坚持了大半年,也不了了之。

第三个记事本,也是现在这个记事本, Qt的TextEdit控件本身就已经非常强大,可实现各种各样难以想像的功能,这是深深吸引我的一个原因,此外好像本人天生有一种写”属于自已的记事本情结”。

如今把这个记事本开源,原因也是希望能获得有缘人的认同和鼓励,从而产生持续编写这记事本的动力。

 

本记事本实现的功能如下:

1.树型结构文件节点。

2.每个节点对应一份文件。

3.支持桌面停靠。

4.随系统自启动。

5.托盘菜单

截图如下:

 

开源仓库为: https://github.com/kxtry/sxnote

其依赖的kxfw库的仓库地址:https://github.com/kxtry/kxfw

 

本项目依赖kxfw的框架,其相关目录结构如下
ProjectRoot
..|—>kxfw
..|……|—>kxfw.sln
..|……|—>kxfw.vcproj
..|……|—-…..
..|—>sxnote
………|—>sxnote.sln
………|—>sxnote.vcproj
………|—-…..

编译项目前,请确保是否已经安装:
1.VS2008+VS2008SP1
补丁


http://pan.baidu.com/s/1qWK3UUS

VS2008win7系统或Win8系统上,建议是解压VS2008.iso到非中文路径下的目录内,然后点击autorun进行安装。原因为使用虚拟光驱安装,容易安全失败,本人也是经历了虚拟光驱安装失败后才选择解压方式安装的。

VS2010版,则不要尝试,原因是VS2010对自定义编译命令支持较弱,虽然也能编译成功,但阅读这些自定义编译命令,总是觉得怪怪的,没有VS2008爽,而Qt-vs-addin则依赖自定义编译命令实现IDE的集成编译。


2.qt-win-opensource-4.7.1-vs2008.exe


http://download.qt-project.org/archive/qt/4.7/qt-win-opensource-4.7.1-vs2008.exe

3.qt-vs-addin-1.1.11-opensource.exe


http://download.qt-project.org/official_releases/vsaddin/qt-vs-addin-1.1.11-opensource.exe