2011-12-01 63 views
1

如果我想直接加载文件(QImage i1("image1.jpg");)我应该在哪里存储它?QImage class:文件加载

如果我必须给文件的完整路径或只需要短路径?

+0

你试过了什么?您可以使用完整路径或相对路径。 –

回答

8

如果您不想担心图像(并且您没有太多图像),请考虑使用Qt Resources。 Qt Resources会将图像嵌入独立于平台的可执行文件中。这些图像将在编译时从文件系统中提取,像Qt Creator这样的IDE实际上可以帮助您。

E.g.如果你创建了一个名为“图像”包含文件的资源,你可以通过键入

QImage(":/images/image1.jpg")

+0

+1应该提到。 – Bart

1

如果您想要像在问题中使用的那样使用QImage,那么您的图像需要位于当前目录中。最可能的将是您的可执行文件存储的目录。

否则,您将不得不提供相对路径或完整路径。

0

使用赦免路径或复制image1.jpg到当前路径引用你的形象。

我在qt创建器中的当前路径与* .exe不同,但它的父(调试/发布)不同。使用下面的代码来查找。

QString fileName = QFileDialog::getOpenFileName(this, 
           tr("Open Image"), 
           QDir::currentPath(), 
           tr("Image Files (*.png *.jpg *.bmp)"));