2011-12-01 43 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)"));