2012-09-10 49 views
0

我想將文本文件中的所有圖像加載到Qt中的窗口小部件中。從文件中加載所有圖像Qt

我以這種方式編寫的代碼,

void project::showfile() 
{ 
    QString fileName = "/home/main/Desktop/image_file.txt"; 
    show_image(fileName); 
} 

void project :: show_image(const QString &fileName) 
{ 
    Widget *wid1=new Widget(ui->scrollArea_2); 

    QFile file(fileName); 
    qDebug()<<"test"; 

    if (!file.open(QIODevice::ReadWrite | QIODevice::Text)) 
    { 
     qDebug() << "Error opening file"; 
    } 

    QString line; 
    QTextStream InputDataFile(&file); 
    while(!InputDataFile.atEnd()) 
    { 
     line = InputDataFile.readLine(); 

     QPixmap pixmap(line); 
     wid1->setPixmap(line); 

     wid1->resize(pixmap.size()); 
     wid1->show(); 
    } 
    file.close(); 
} 

對於您的例子我image_file.txt包含

/home/keerthana/Desktop/images/2_222_31.jpg 

雖然我使用此代碼我可以在文件中只加載最後一個圖像。我想將所有圖像加載到GUI。

任何人都可以幫助我嗎?那我該如何加載一切。

回答

0

代碼不完整,但代碼似乎暗示您在同一個小部件上反覆加載圖像。看起來只有最後一個顯示是正確的。你加載的每個像素映射似乎取代以前...

+0

你是儀式,我加載在同一個部件,之後,我已經計劃使用計時器,以便每個時間間隔它將逐一加載圖像。現在我怎麼能打印所有的圖像..你可以請儘快幫我 – Jimmy

+0

沒有更換舊的圖像,我怎麼能加載它。你能否通過我的代碼來解釋我?所以它對我很有幫助 – Jimmy

+0

如果你只想在內存中加載,只需將你的QPixmaps放置在像QList這樣的數據結構中即可。然後,當您想要顯示時,請調用setPixmap方法,傳遞要顯示的特定QPixmap。 –