嵌入在可执行文件中的Qt图标

嵌入在可执行文件中的Qt图标,qt,icons,Qt,Icons,我在tabwidget上有一些按钮。这些按钮上面需要有一些图标 我知道QPixmap允许我将图像放在按钮的顶部,但我看到这些构造函数将文件路径作为参数。我希望避免在生成后在文件中拖动图标。我想以某种方式将这些图标嵌入到可执行文件中,以减少我需要随身携带的行李,从而使其工作 我怎样才能做到这一点 我感兴趣的是如何实现我的目标,即不需要在可执行文件中拖动图标文件;如果您对我可能使用的一些术语感到困惑,请关注这方面,因为我仍在学习Qt。当然,您可以将图标、图像和所有其他自定义资源嵌入到应用程序中。 请

我在tabwidget上有一些按钮。这些按钮上面需要有一些图标

我知道QPixmap允许我将图像放在按钮的顶部,但我看到这些构造函数将文件路径作为参数。我希望避免在生成后在文件中拖动图标。我想以某种方式将这些图标嵌入到可执行文件中,以减少我需要随身携带的行李,从而使其工作

我怎样才能做到这一点


我感兴趣的是如何实现我的目标,即不需要在可执行文件中拖动图标文件;如果您对我可能使用的一些术语感到困惑,请关注这方面,因为我仍在学习Qt。

当然,您可以将图标、图像和所有其他自定义资源嵌入到应用程序中。
请阅读(或Qt5)

您将有一个名为ProjectName.qrc的资源文件,其中列出了图标(通常为PNG)。使用Qt Creator,它已经为您创建了一个空白的QRC文件。在指定“文件”时,您使用的语法为“:/Images/MyCrazyIcon.png”,图标是从嵌入到可执行文件中的资源加载的。请注意,Qt并没有以最完美的方式管理资源,也就是说,可以根据需要加载资源,但并不总是占用系统内存;它们总是占用系统内存,如果它们很小,这真的不是什么大问题。对于以后要刷新的大型图形,只需指定一个真实的文件名(例如,“MyBigFile.png”而不是“:/MyBigFile.png”,后者指向可执行文件中的资源)

如果QRC文件与资源位于同一目录中,那么使用资源语法时,其功能是冒号“:”,因此您甚至可以使用“:MyFile.png”。我就是这样做的,到目前为止,我看不出这种语法有什么缺点。我不喜欢在语法中包含“../Images/…”,所以我的资源名用“:MyPic.png”来表示,而不是更长的“:/Images/MyPic.png”,所有这些都很好

Qt文档指出,目前它们不支持Windows和Mac支持的真正的资源处理,但将来可能会发生变化。请记住,“真正的资源支持”指的是这样一件好事,即您可以在可执行文件中放置多兆字节的图形和声音,并且在您请求它们之前,不要担心它们加载到内存中。当加载可执行文件时,QRC资源被加载到内存中。可加载文件的蒙皮支持完全弥补了这一弱点。Qt正在迅速改进,有朝一日它们可以很好地支持Windows和Mac资源系统。我被解雇了,必须走了。塔塔。每个人都让我进步,我需要分数