[gelöst] Dateifilter auswählen mit getOpenFileName?
Verfasst: 31. Mai 2007 22:30
hallo,
ich möchte beim Auswählen einer Datei mit getOpenFileName mehrere Filter wählen können. Das Widget dazu bietet eine ComboBox an, aber wie füllte ich diese?
Derzeit behelfe ich mir so:
Der Wert für filterIndex wird vorher entsprechend gesetzt. Dies aber finde ich umständlich.
Ich würde gerne einfach alles, was in filters enthalten ist, in die comboBox laden und dann auswählen können.
Es gibt zwar QFileDialog::setFilters(), aber in getOpenFileName() kann man nur ein QString und kein QStringList übergeben.
Ich hab's auch mit
probiert. Das Problem hierbei ist, dass der 5. Parameter "selected_Filter" nach dem Parameter "filter" kommt, d.h. ich komme nicht drum rum, etwas für "filter" anzugeben. Damit ist aber alles in "QStringList filters" wieder hinfällig.
Wenn ich bei Aufruf von getOpenFileName() nur die ersten 3 Parameter angebe, dann wird automatisch "All files (*.*)" vorgegeben.
Das muss doch irgendwie gehen. Wozu ist denn sonst die ComboBox da?
ich möchte beim Auswählen einer Datei mit getOpenFileName mehrere Filter wählen können. Das Widget dazu bietet eine ComboBox an, aber wie füllte ich diese?
Derzeit behelfe ich mir so:
Code: Alles auswählen
...
QStringList filters;
filters << "Konfig-, RefMod-Dateien (*.dat)"
<< "RM-Dateien (*.simu)"
<< "Bild-Dateien (*.bld *.bmp)"
<< "Gelaendemodelle (*.flt)"
<< "Any files (*.*)";
static QString verzStr="...Basisverzeichnis...";
QString fileName = QFileDialog::getOpenFileName(this, captStr, verzStr, filters[filterIndex]);
Ich würde gerne einfach alles, was in filters enthalten ist, in die comboBox laden und dann auswählen können.
Es gibt zwar QFileDialog::setFilters(), aber in getOpenFileName() kann man nur ein QString und kein QStringList übergeben.
Ich hab's auch mit
Code: Alles auswählen
QFileDialog fDialog = new QFileDialog(this);
fDialog->setFilters(filters); /* filters vom code oben */
QString fileName = fDialog->getOpenFileName(...);
Wenn ich bei Aufruf von getOpenFileName() nur die ersten 3 Parameter angebe, dann wird automatisch "All files (*.*)" vorgegeben.
Das muss doch irgendwie gehen. Wozu ist denn sonst die ComboBox da?