Qt QFileDialog再次弹出

时间:2014-03-11 15:34:37

标签: c++ qt visual-studio-2012 qtgui qmainwindow

我正在开发一个系统,对于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;
}

1 个答案:

答案 0 :(得分:2)

如果您将插槽连接到相应的信号两次,或者您在插槽调用中再次发出相同的信号,或者至少&#34;快速&#34;可能会发生此问题。在让插槽退出后会带来这种用户体验。