[問題] qimage載入資料夾中所有圖片

作者: Vvvahc (我來搞事了)   2022-08-09 13:57:40
開發平台(Platform): (Ex: Win10, Linux, ...)
Windows11
編譯器(Ex: GCC, clang, VC++...)+目標環境(跟開發平台不同的話需列出)
Vc2022
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
Opencv
問題(Question):
我想建立qt的image viewer,可以在QfileDialog
中選擇資料夾,並在Qlabel上循環播放這些圖片(大約要顯示5000張)
不過我執行時卻只有顯示最後一張圖
請問程式碼可以怎樣改呢?
另外對於要讀取大量的檔案,感覺用for (inti=0; i < file.count();i ++)的寫法很沒
效率
不曉得是否有其他寫法
餵入的資料(Input):
預期的正確結果(Expected Output):
錯誤結果(Wrong Output):
程式碼(Code):(請善用置底文網頁, 記得排版,禁止使用圖檔)
// testViewer.cpp
Void testViewer:: OpenActionFile(){
QstringList filename = QFileDialog::getOpenFileNames(this, tr(“open file”),
“ loading file”, tr(“ *.jpg “);
for(int i =0; i< filename.count(); i++){
ui -> label -> setText(filename.at(i));
Mat src_ = cv:: imread(filename.at(i).toStdString(), cv:: IMREAD_ANYDEPTH);
};
if (filename.isEmpty){
qDebug() <<“….. “ ;
return;
};
補充說明(Supplement):
作者: qoorocker (rockers)   2022-08-09 14:52:00
要顯示的時候再讀就好了吧? 記住 filepath 就好
作者: Vvvahc (我來搞事了)   2022-08-09 14:59:00
有點不太明白大大所說,因為我想要載入的圖片可以自動更新( 有點像是影片一樣)查了一下網路上是說要用qtimer更新不過沒有範例所以我還在試
作者: lycantrope (阿寬)   2022-08-09 18:08:00
又不需要一次讀取全部圖片,要顯示再讀取,或是讀取幾張圖片cache
作者: john790710 (虎)   2022-08-09 20:09:00
你的寫法就一次讀完,所以只會顯示最後一張接QTimer的timeout() signal來更新

Links booklink

Contact Us: admin [ a t ] ucptt.com