制作一个图标库软件

软件地址

数据库下载地址

源码我就不放了,我发现放了也很少有人会看。

前言(需求)

我经常写一些小软件,但是找图标时间麻烦的事情,阿里云图标网挺好,但是更多是web网站上的应用。我想立刻用到 ico 图片(并且可以控制ico图标大小),所以有了这个软件。

原理

SVG是一种用XML定义的语言,用来描述二维矢量及矢量/栅格图形。

采用 Python 爬虫,爬取svg原始代码(文本形式),存储到sqlite3本地数据库,然后软件使用c++ qt 写的,使用model-view模式,这个model有下拉加载的功能,否则一下子加载数十万个必然会卡死软件,图片在QtableView中显示使用的代理(委托),软件来使用sqlite3数据库。由于存储的是矢量图,对空间要求很小,目前数据库1.19G, 而图标却有 48万个左右,并且每个图标可以任意缩放,你甚至可以生成1000x1000像素的图标(我软件里面做了限制,否则可以无限放大),图标也不会变得模糊,因为是矢量图。

image-20211111200612844

软件功能

按照名称或分类搜索

生成任意大小的图标

保存png,ico,jpg格式

目前48 万左右个图标

软件使用

image-20211111201054449

首先要下载数据库,然后将数据库放到软件目录里即可。

后续添加数据

软件目录中 download.py 可以向数据库中插入新数据,page.txt 中记录当前页数,防止在不经意间关闭爬取程序后重新开始运行。而网站的更新都是首页是最新的,所以爬取完成可以手动的将其page.txt 改为 0,以便下次爬取(成功插入的话会输出成功),几个字段我联合做了 md5 为主键,防止存储重复数据,如果遇到主键存在的输出,后续也页数也不必在爬了,因为越后面的页数越老。

posted @ 2021-11-11 22:29  Hello_wshuo  阅读(37)  评论(0编辑  收藏  举报