QFileDialog öffnet ein zweites (möglicherweise übergeordnetes) unerwünschtes Fenster

Wahrscheinlich liegt dieses Problem daran, dass das übergeordnete Widget nicht ordnungsgemäß definiert wurde. Im QT-Handbuch oder in den online verfügbaren Beispielen lautet das erste an QFileDialog :: getOpenFileName (oder ähnliche Funktionen) übergebene Argument im Allgemeinen "this". Wenn ich in meinem Fall die folgende Funktion mit "this" aufrufe, wird das Dialogfeld und ein weiteres Fenster geöffnet, das nichts enthält und einen Titel hat, der dem Namen der ausführbaren Datei entspricht. Ich habe erfolglos versucht, das zweite unerwünschte Fenster loszuwerden. Ich habe "this" durch "gui :: parentWidget ()" oder "0" ersetzt, immer noch dasselbe Problem. Auch wenn ich mich richtig erinnere, hatte ich dieses Problem vor der Aktualisierung von QT auf Version 5.0.2 nicht. Jede Hilfe wäre dankbar.

void gui::on_coordinatesBrowse_clicked()
{
     QString fileName = QFileDialog::getOpenFileName(this,"Open File");
//.....
}

und ich habe:

gui::gui(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::gui)
{
    ui->setupUi(this);
//.....
}

und

int main(int argc, char *argv[]) 
{
    QApplication a(argc, argv);
    gui mainW;
    mainW.show();
    return a.exec();
}

Antworten auf die Frage(1)

Ihre Antwort auf die Frage