1 问题
在qt 5.12.0 版本中,用 qfiledialog 类来做文件选择时候,发现当弹出对话框后,选择完文件后,又弹出文件选择对话框。
2 原因查找
2.1 代码
qfiledialog filedialog; filedialog.setacceptmode(qfiledialog::acceptopen); filedialog.setfilemode(qfiledialog :: existingfiles); qstringlist filenames ; filenames =filedialog.getopenfilenames(); if( filedialog.exec() == qfiledialog::accepted ) { qdebug()<<"get file "; qstringlist filenames ; filenames =filedialog.getopenfilenames(); for(int i=0;i<filenames.length();i++) qdebug()<<filenames[i]; }
2.2 原因确定
通过 qdebug 打印得知 函数 :getopenfilenames()有包含 exec()的作用
3 改成
qfiledialog filedialog; filedialog.setacceptmode(qfiledialog::acceptopen); filedialog.setfilemode(qfiledialog :: existingfiles); qstringlist filenames ; filenames =filedialog.getopenfilenames(); for(int i=0;i<filenames.length();i++) qdebug()<<filenames[i];
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/c-cdevelopment/600914.html