Qt 文件選項對話框彈出兩次

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()的做用code

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];
相關文章
相關標籤/搜索