[问题] 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