Qt 文件选项对话框弹出两次
程序员文章站
2023-11-08 17:50:58
1 问题 在Qt 5.12.0 版本中,用 QFileDialog 类来做文件选择时候,发现当弹出对话框后,选择完文件后,又弹出文件选择对话框。 2 原因查找 2.1 代码 2.2 原因确定 通过 qDebug 打印得知 函数 : getOpenFileNames()有包含 exec()的作用 ......
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];