前言
软件的logo一般跟公司的版权、商标、创意、设计密切相关,一般软件在开发之初都会特意设计好,以提高应用软件的辨识度
1 安装包logo
EXE压缩包的logo,可以在Inno Setup Compiler的脚本里边设定,这个可以参考文章
2 可执行程序logo
可执行程序的logo可以由cmake来配置,也可以由qmake来指定,两者的配置大同小异,这里以cmake为例
CMakeLists.txt
add_executable(my_program ${SRC} logo.rc)
logo.rc
IDI_ICON1 ICON DISCARDABLE "logo.ico"
logo.ico
如果是普通图片需要转ico格式,这里推荐一个转换图片格式的站点:https://www.bitbug.net/
3 启动界面logo
QSplashScreen可实现定制化启动logo,甚至是FLASH动画效果
QPixmap pixmap(":/demo.jpg");
QSplashScreen *splash = new QSplashScreen(pixmap);
splash->show();splash->showMessage("Loaded modules (10%)");QCoreApplication::processEvents();splash->showMessage("Loaded modules (100%)");QCoreApplication::processEvents();
注意
现实开发过程中,如果app启动过程相当复杂(包含多线程环节),也可以通过一个独立进程的形式展示启动logo(QWidget自绘 + 进程通信)
4 标题栏logo
C++实现窗体logo
QWidget::setWindowIcon
在UI文件里边指定也是可以的
5 系统托盘logo
QSystemTrayIcon可以实现托盘logo自定义
trayIcon = new QSystemTrayIcon(this);
trayIcon->setIcon(QIcon(":/logo.png"));
6 任务栏logo
这个不知道怎么描述,Windows系统的情况是:只要2、4有一个定义了,程序就会相应的变成一样的logo,优先级:4 > 2
参考
【1】QSplashScreen Class
【2】doc.qt.io