代码地址(https://git.oschina.net/mt6276m/Qesee)
小时候用过一个叫做esee的阅读器,当年电脑没联 ,windows看文字只有记事本,写字板和word可用。这些软件统统是一个窗口打开一个文件,word启动还超级慢,文件一多操作起来十分复杂。
esee当年就以神器的姿态出现在我眼前,esee的特点:
- 布局和vs,qtcreator,keil很像,正面大 的文本窗口,左边是类似于工程和文件列表,把目录和文件列表分开。能够在目录间快速切换选择文件。
- 完全只读,文本内容可复制可粘贴,但是不会保存(当时觉得这样很有安全感,不会破坏文件内容)。
- 阅读器自动区分文本,html,图片。重点是图片也能显示,可以当图片浏览器。
- 还有些从来没用过得诸如播放mp3,批量重命名,合并文档的功能。
esee最新版是1.30,发布于2002年。软件截图:
esee 1.30之后就没有再更新了,而且似乎被投了毒, 上几个下载源下载的esee都被杀毒软件 毒。
最近又遇到很多文件看不过来的情况,第一时间就想起了esee。反正在学QT编程,仿写一个简单软件应该很快。
QT界面编程的书还没看完,搞复杂了力有未逮,不过可以先定一个能达到的小目标,比方说我先写它一个界面。
仿写目标:
- 布局类似。
- 能够查看文本和图片。
仿写界面:
和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进行处理,非常感谢!