控件支持的图片类型:
需要设置图标的控件一般有:
- 按钮
- action
- list item
- 软件本身
- ……
就拿按钮来说,用代码设置图标,有而且只有xx.setIcon(QIcon icon)函数,其它action啥的的也是这个函数。说明在代码中,我们只能是提供 xx.ico 文件给程序使用。
但是,如果我们是在设计师界面进行设计,就可以为控件选择任意格式的图片文件都是支持的,这是因为设计师界面工具为我们的图片做了转换,最后还是生成了 ico 图片给代码中使用的。
所以ico图片是最终的目标格式图片,而一般的图片编辑器是不支持保存为这个图片的。
图片格式选择:
一般图片格式:jpg,png,svg等
- 首选svg,因为是矢量图,可以任意放大缩小的。我们可以在代码中通过qt的函数转为ico图片的。visio就可以保存为这个格式。
- 其次选png,这个因为带有透明度信息的。这个用Windows自带的3D画图软件,还挺方便得到的,主要是背景透明很方便。
- 而jpg属于压缩格式,而且不透明,不好用。
为了简单,我们直接在设计师界面指定各控件的图标了,这样直观。我们就直接用png图片即可。
否则,在代码中设置图片的话,我们还是用svg吧,因为能用函数动态生成各种尺寸的icon,且不会模糊。
这些图片,我们放在源码目录的一个文件夹里,然后添加到资源文件里,这样就是程序的一部分了,程序中就可以任意读取
图片或者说图标来源:
我们可以直接画,也可以去网站上找,这些网站能找到大量好看的。测试了大量网站,主要觉得不错的网站如下:(最起码支持png,svg格式的免费下载,而且搜索关键字会很友好,很全)
- Iconfont 中国最大的(国内还有各字节跳动的IconPark,但是好像有些搜不到),很全,搜索也挺友好的。iconfont-阿里巴巴矢量图标库
- iconfinder 国外的,非常非常全,搜索非常友好,还能提示一个图标的相关图标,这样方便了我们找同类图标了,非常推荐这个网站。https://www.iconfinder.com/
- flaticon,国外的,这个搜索也很全的。https://www.flaticon.com/
- iconsDB,也不错,支持用户自定义颜色 https://www.iconsdb.com/
- https://thenounproject.com/ 也不错,就是网速慢
- icons8,也很全,也是网速慢,免费的图标、剪贴画插图、照片和音乐
- Openmoji,关于人物表情的,挺有意思,https://openmoji.dashgame.com/#/library?id=1F627