I have an issue with a simple program. I\'m opening a QFileDialog this way:
QFileDialog fileDialog(this);
fileDialog.setAcceptMode(QFileDialog::AcceptOpen);
Are you sure that such a child is created? Because if so, I would have assumed that you could do something like
QString path = QFileDialog::getExistingDirectory(this, ...);
QFileDialog *filedialog = this->findChild<QFileDialog*>();
if (filedialog) {
filedialog->deleteLater();
}
But I tried it creating the dialog with this as the parent and calling findChild in this object as well as creating the dialog using 0 as the parent and calling findChild in the main window; both to no avail.
The native dialogs don't support the full array of features exposed by the QFileDialog class. That's why they are only available through the static short-cut functions called getOpenFileName(), getSaveFileName() etc'. If you're using these functions and still don't want to see the native dialog, you use the DontUseNativeDialog flag.