用QT仿写一个老软件,电子文档阅览播放器(esee)

代码地址(https://git.oschina.net/mt6276m/Qesee)

小时候用过一个叫做esee的阅读器,当年电脑没联 ,windows看文字只有记事本,写字板和word可用。这些软件统统是一个窗口打开一个文件,word启动还超级慢,文件一多操作起来十分复杂。

esee当年就以神器的姿态出现在我眼前,esee的特点:

  1. 布局和vs,qtcreator,keil很像,正面大 的文本窗口,左边是类似于工程和文件列表,把目录和文件列表分开。能够在目录间快速切换选择文件。
  2. 完全只读,文本内容可复制可粘贴,但是不会保存(当时觉得这样很有安全感,不会破坏文件内容)。
  3. 阅读器自动区分文本,html,图片。重点是图片也能显示,可以当图片浏览器。
  4. 还有些从来没用过得诸如播放mp3,批量重命名,合并文档的功能。

esee最新版是1.30,发布于2002年。软件截图:

esee 1.30之后就没有再更新了,而且似乎被投了毒, 上几个下载源下载的esee都被杀毒软件 毒。

最近又遇到很多文件看不过来的情况,第一时间就想起了esee。反正在学QT编程,仿写一个简单软件应该很快。

QT界面编程的书还没看完,搞复杂了力有未逮,不过可以先定一个能达到的小目标,比方说我先写它一个界面。

仿写目标:

  1. 布局类似。
  2. 能够查看文本和图片。

仿写界面:

和esee尽量一致。菜单栏的功能没有实现干脆就先去掉。
文件目录用QTreeView,文件列表用QListWidget,中间加一个搜索框QLineEdit,文本显示用QTextEdit。文件列表下面加一个QLabel显示文件数量。

目录和文件显示有个专门的模块叫QFileSystemModel。QFileSystemModel再QTreeView显示文件会有些多余内容,比如大小,创建时间之类,可以去掉。

文件列表直接用QDir搜索:

图片文件识别:

文件后缀名是个完全靠自觉的东西,用来判断文件类型有风险,通过读文件头判断文件格式要保险一点。

图片显示:

文本使用的是textEdit这个控件显示。和label不同,textEdit居然没有setMovie方法显示图片。参考esee原软件也是用text类似的控件既显示文本又显示图片,QT控件不会比2002年的图形库更差。

联想到esee还可以显示带图片的 页,应该是把图片变成html语句来让text控件显示图片。

果然把文件路径嵌入html语句之后在textEdit里面看见图片。和esee的显示方式一样,不居中不放大缩小,有多大显示多大,非常古怪。

文件编码:

文件编码识别这是个老大难的问题,单独列出来都可以写个软件。考虑到我的电脑里中文文件基本是GBK的,所以强制把所有文件识别成GBK的。

遇到GBK编码文件能正常显示中文,显示英文没影响。显示其他编码文件一律乱码。

以后可以考虑加个编码选择。

内容搜索:

文件列表上面留了个输入框,打算用来作文件搜索。具体怎么实现还在考虑。

 

参考文献:

1.读文件头判断图片类型! (http://blog.csdn.net/include1224/article/details/5195470)

相关资源:1997年软件第二季1of5-其它其他资源-CSDN文库

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2016年7月28日
下一篇 2016年7月28日

相关推荐