第一步总算做完了,现在来整理笔记,本想简单做一下,可以显示查找到的内容就行了,但想到有一些功能在下一个版本也会用到,干脆现在就把这些功能加上吧,所以做成了现在这样还算完整的一个小工具。
下面来一点点介绍外观和功能。
1. 外观
参考Everything的外观,窗口尽量保持简洁。
标题显示当前搜索内容+"Everything"。
工作区分上下两部分,上面是搜索关键字输入框和一个search按钮,下面是一个表格来展示搜索到内容。由于搜索速度的限制,不能做到即时搜索,所以做了一个小按钮。表格中展示的列内容依次为:文件/文件夹名称、所在路径,大小,最后修改日期。第一列中开头有一个小图标表明该文件类型。
状态栏显示搜索到目标的个数。
省略了菜单栏,因为觉得现在功能比较简单,没有什么东西好放到菜单栏中。目前仅支持普通字符串搜索(可以使用通配符),没有多余选项,所以不需要菜单栏。
2. 功能
1)搜索
在搜索框中输入关键字,然后点击search按钮或Enter键即可完成一次搜索。
搜索结果展示会根据搜索结果的数量产生延时,这个也是之所以点击search按钮或按下Enter键才开始搜索的原因所在。搜索关键字字符个数越少,搜索到的结果会越多,如果使用即时搜索,在输入第一个字符时,灾难就开始了。
默认关键字大小写敏感,不可以使用正则表达式,这两项都是locate原生支持的,加上也很容易,后续如果还要完善这一版的话会考虑在菜单栏加入这两个选项。
可以使用通配符,这个是locate不需要额外的选项就支持的。比如:“*.jpg”表示搜索以".jpg"结尾的文件或文件夹。
2)右键菜单
目前右键有3个菜单项:Open, Open path, Copy Full Name to Clipboard
功能分别是:
- Open - 打开文件,选择系统中合适的程序打开该文件,比如文本文件一般使用gedit打开。可以正常打开的文件类型有:文本文件,图片文件,音频文件,视频文件,压缩文件,文件夹等。
- Open Path - 打开文件所在目录,使用本机中的文件和文件夹查看工具打开。
- Copy Full Name to Clipboard - 拷贝文件完整路径到剪切板。
右键菜单打开时如图所示:
选择打开后,使用合适应用打开一个图像文件时是这样子的:
文件打开失败时会有对话框提示:
3)双击打开
功能同右键菜单项中的Open一样,这个比右键单击然后选择打开更方便,而且双击打开是再熟悉不过的一个功能,这个必须有。
3. 总结
这样一个小工具看起来简单,写的时候却遇到很多细枝末节的麻烦,虽然不难,但去网上搜解决办法也很费时间,尤其是国内这种网络情况,用某度搜索技术类问题实在不好用,上谷歌要走代理,速度有点慢的。所以要珍惜搜到的每一篇帮助过自己的文章,当然也要感谢文章的作者。
遇到的问题及解决方法:
1)QT多线程
2)QT右键菜单
5)QT操作剪切板
完整代码已经上传github: