Seite 1 von 1

QFileDialog aus seperatem Fenster öffnen

Verfasst: 22. September 2010 20:25
von anno1988
Hallo,

ich habe da ein kleines Problem.

Ich habe mir eine QDialog Klasse erstellt und darin einige Steuerelemente untergebracht. Jetzt wollte ich da drin, sobald ich auf einen PushButton klicke den QFileDialog öffnen. Allerdings wird das nicht angenommen und die Anwendung gibt folgende Meldung aus:

Code: Alles auswählen


QDialog::exec: Recursive call detected


Code:

Code: Alles auswählen

#include <QDialog>
#include <QFileDialog>


namespace Ui {

    class Dialog;

}


class Dialog : public QDialog {

    Q_OBJECT

    private:
        Ui::Dialog_Page_Item *ui;

    protected:
        QFileDialog *mfile_dialog;

    public:
        Dialog(QWidget *parent = 0);
        ~Dialog();

    protected slots:
        void FileSelected();

};



//--------------------------------------------------------

    Dialog::Dialog(QWidget *parent) :
                                        QDialog(parent), ui(new Ui::Dialog_Page_Item) {

        ui->setupUi(this);


        mfile_dialog = new QFileDialog();

        connect(ui->mpbtn_file_dialog, SIGNAL(clicked()), this, SLOT(FileSelected()));


    }

//--------------------------------------------------------

    Dialog::~Dialog() {

        delete ui;

    }

//--------------------------------------------------------

    void Dialog::FileSelected() {

        mfile_dialog->exec();

    }
Und der FileDialog wird dann auch nicht geöffnet.

Hat da jemand eine Idee wie man das machen kann?

Verfasst: 26. September 2010 14:33
von Troll.Soft
Hallo Anno,
wenn Du den QFileDialog wie folgt aufrufst, dürfte es kein recursiven Probleme geben.

Code: Alles auswählen

	QString FileName =  QFileDialog::getOpenFileName(Widget, QString("Open SQLite Database"), Dir, QString("SQLite Files (*.sqlite);;All Files (*.*)"));
tschüß
Troll.Soft