【发布时间】:2010-11-30 10:17:29
【问题描述】:
如何为使用 Qt 制作的应用程序设置应用程序图标?有什么简单的方法吗?这是一个基于 qmake 的项目。
【问题讨论】:
-
这取决于您的目标平台:See Qt's documentation
如何为使用 Qt 制作的应用程序设置应用程序图标?有什么简单的方法吗?这是一个基于 qmake 的项目。
【问题讨论】:
对于 Qt 5,此过程由 qmake 自动执行。只需将以下内容添加到项目文件中:
win32:RC_ICONS += your_icon.ico
自动资源文件生成还使用以下 qmake 变量的值:VERSION, QMAKE_TARGET_COMPANY, QMAKE_TARGET_DESCRIPTION, QMAKE_TARGET_COPYRIGHT, QMAKE_TARGET_PRODUCT, RC_LANG, RC_CODEPAGE。
对于Qt 4,您需要手动完成。在 Windows 上,您需要创建一个 .rc 文件并将其添加到您的项目 (.pro)。 RC 文件应如下所示:
IDI_ICON1 ICON DISCARDABLE "path_to_you_icon.ico"
.pro 条目也应该是特定于 win32 的,例如:
win32:RC_FILE += MyApplication.rc
【讨论】:
win32:RC_FILE += MyApplication.rc
现在 Qt 已经升级到 5.0.1,有新方法可以添加应用程序图标。首先,你需要准备一个资源文件,命名为.qrc
1) 如果没有Qt Designer,我假设有一个名为MainWin 的QMainWindow 实例。您可以使用:
QIcon icon(":icon/app.icon");
MainWin.setWindowIcon(icon);
2) 使用Qt Designer,可以修改QMainWindow 的属性。从.qrc中选择图标资源,插入windowIcon所在行。
以上方法在Qt4.7、Qt4.8.x中都可以使用。
【讨论】:
已在 Linux (Qt 4.8.6) 和 Windows (Qt 5.6) 中验证:
1) 将图标文件添加到您的项目文件夹中;
2) 在主函数中调用 setWindowIcon() 方法。例如:
QApplication a(argc, argv);
a.setWindowIcon(QIcon("./images/icon.png"));
【讨论】:
要扩展 Rob 的答案,您可以通过在 .pro 文件中添加和修改以下行来为 macOS 设置应用程序图标。
macx: ICON = <app_icon>.icns
请注意,ICON qmake variable 仅适用于 macOS。
对于 Windows,请使用
RC_ICONS = <app_icon>.ico 如果您要附加 .ico 文件RC_FILE = <app_icon>.rc,如果您想通过.rc 文件附加您的图标。 (请务必在 rc 文件中添加IDI_ICON1 ICON DISCARDABLE "myappico.ico"。缩进不是我的。)如需进一步阅读,请参阅Setting the Application Icon。
【讨论】:
对于 Windows 上的 Qt5,将您的 ico 文件移动到项目文件夹并将这一行添加到您的 .pro 文件中:
RC_ICONS = myappico.ico
【讨论】: