我有:images/pic.gif
我可以从此资源中创建QPicture
,还是必须从文件中加载?
答案 0 :(得分:3)
QPicture用于记录QPainter命令,而不是用于记录图像数据。 如果要加载图像,请使用QPixmap或QImage。您可以使用他们的load()方法。 要访问捆绑为资源的映像文件,请使用“:/”访问资源:“:/ someFile.png”。确切的路径和文件名在qrc文件中指定。
答案 1 :(得分:1)
我认为您的问题就像将 images / pic.gif 添加到资源文件后,是否必须从资源文件或直接访问 images / pic的位置。 GIF 即可。
现在我对这个问题的回答是,即使您已将图像添加到资源文件并访问它,它也会间接访问物理文件本身。为了说明这一点,在将 images / pic.gif 添加到资源文件中后,尝试从应用程序中的位置和访问中删除 images / pic.gif 。你将无法获得图像。因此,即使将其添加到资源文件中,它也类似于访问其原始位置中存在的物理文件。查看 Qt Resources page。
但将所需文件整理到资源文件中是一种很好的做法和逻辑,这样所有必需的文件都存在于同一位置。
使用QPicture,您可以通过
将其加载到您的应用程序中bool QPicture::load ( const QString & fileName, const char * format = 0 )
答案 2 :(得分:0)
您必须使用Qicon或Qpixmap从资源加载图像。 QPIcture用于保存图片。