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.