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];
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/86649.html
標籤:C++
