Qt QFileDialog再次弹出

Qt QFileDialog pops up once more

本文关键字:QFileDialog Qt      更新时间:2023-10-16

我正在开发一个系统,对于GUI,我更喜欢使用QT插件VisStudio 2012。我使用了一个文件浏览器,一旦浏览按钮被按下,一切都很好,我选择了我的文件。就在我的文件处理完成后,另一个文件浏览器弹出…你能帮我吗?下面是代码:

#include "istorm__v3.h"
#include <QFileDialog>
#include <QMessageBox>
#include "ui_istorm__v3.h"
#include "iStormParser.h"
using namespace std;
iStormParser * isp;
iSTORM__v3::iSTORM__v3(QWidget *parent)
    : QMainWindow(parent)
{
    isp=new iStormParser();
    ui.setupUi(this);
    //ui.pushButton->setAutoDefault(false);
    connect(ui.pushButton, SIGNAL(ui.pushButton.clicked()), this, SLOT(ui.on_pushButton_clicked()));
}
iSTORM__v3::~iSTORM__v3()
{
}
void iSTORM__v3::on_pushButton_clicked()
{
    QString filename = QFileDialog::getOpenFileName(this,
                                                    tr("Choose File"),
                                                    "D:\Desktop\iSTORM__v3\iSTORM__v3\",
                                                    "C Files (*.c);;H Files (*.h)");
    string tmp=filename.toUtf8().constData();
    unsigned found = tmp.find_last_of("/\");
    tmp=tmp.substr(found+1);
    string data=isp->run("\testFiles\"+tmp);
    ui.textEdit->setText( QString::fromStdString(data));
    return;
}

如果您将插槽连接到相应的信号两次,或者您在插槽调用中再次发出相同的信号,或者至少在插槽退出后的某个地方"快速"产生此用户体验,则可能发生此问题。