我在tabwidget上有一些按钮.这些按钮需要在它们上面有一些图标.
我知道QPixmap允许我将图像放在按钮上,但我看到这些构造函数将文件路径作为参数.我想在构建之后避免在文件中拖动图标.我想以某种方式将这些图标嵌入可执行程序中,以便减少我需要随身携带的行李以使其工作.
我怎么能做到这一点?
我有兴趣听听如何实现我的目标,即不需要使用可执行文件拖动图标文件; 如果你对我可能使用的一些术语感到困惑,请关注这方面,因为我还在学习Qt.
您将有一个名为 ProjectName.qrc 之类的资源文件,其中列出了图标(通常为 PNG)。对于 Qt Creator,它已经为您提供了一个空白的 QRC 文件。指定“文件”时,您以“:/Images/MyCrazyIcon.png”的方式使用语法,并且图标是从嵌入到可执行文件中的资源加载的。请注意,Qt 并没有以最完美的方式管理资源,也就是说,它们可以按需加载,但并不总是占用系统内存;它们总是占用系统内存,如果它们很小的话,这确实不是什么大问题。对于稍后要刷新的大图形,只需指定一个真实的文件名(例如,“MyBigFile.png”而不是“:/MyBigFile.png”,后者指向可执行文件中的资源)。
对于资源语法,权力位于冒号字符“:”中,因此您甚至可以拥有“:MyFile.png”,前提是 QRC 文件与资源位于同一目录中。我就是这样做的,到目前为止,还没有看到这种语法的缺点。我讨厌在语法中包含“.../Images/...”,因此我的资源名称使用“:MyPic.png”进行寻址,而没有更长的“:/Images/MyPic.png”,并且一切正常。
Qt 文档指出,目前它们不支持 Windows 和 Mac 支持的真正资源处理,但将来情况可能会发生变化。请记住,“真正的资源支持”是指您可以在可执行文件中放置数兆字节的图形和声音,并且永远不用担心它们加载到内存中,直到您请求它们的神奇时间为止。加载可执行文件时,QRC 资源将加载到内存中。可加载文件支持的换肤功能足以弥补这一弱点。Qt 正在迅速改进,有一天他们可以很好地支持 Windows 和 Mac 资源系统。我变得多余了,必须离开。塔塔。大家帮帮我吧,我需要积分。
| 归档时间: |
|
| 查看次数: |
5693 次 |
| 最近记录: |