Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to set selected filter on QFileDialog?

Tags:

c++

qt

qt4

I have a open file dialog with three filters:

QString fileName = QFileDialog::getOpenFileName(         this,         title,         directory,         tr("JPEG (*.jpg *.jpeg);; TIFF (*.tif);; All files (*.*)") ); 

This displays a dialog with "JPEG" selected as the default filter. I wanted to put the filter list in alphabetical order so "All files" was first in the list. If I do this however, "All files" is the default selected filter - which I don't want.

Can I set the default selected filter for this dialog or do I have to go with the first specified filter?

I tried specifying a 5th argument (QString) to set the default selected filter but this didn't work. I think this might only be used to retrieve the filter that was set by the user.

like image 218
Greg K Avatar asked Oct 22 '09 00:10

Greg K


2 Answers

Like this:

QString selfilter = tr("JPEG (*.jpg *.jpeg)"); QString fileName = QFileDialog::getOpenFileName(         this,         title,         directory,         tr("All files (*.*);;JPEG (*.jpg *.jpeg);;TIFF (*.tif)" ),         &selfilter  ); 

The docs are a bit vague about this, so I found this out via guessing.

like image 157
shoosh Avatar answered Oct 07 '22 10:10

shoosh


Here is a string for all of the QT supported image formats.

"All files (*.*);;BMP (*.bmp);;CUR (*.cur);;GIF (*.gif);;ICNS (*.icns);;ICO (*.ico);;JPEG (*.jpeg);;JPG (*.jpg);;PBM (*.pbm);;PGM (*.pgm);;PNG (*.png);;PPM (*.ppm);;SVG (*.svg);;SVGZ (*.svgz);;TGA (*.tga);;TIF (*.tif);;TIFF (*.tiff);;WBMP (*.wbmp);;WEBP (*.webp);;XBM (*.xbm);;XPM (*.xpm)" 
like image 25
kblst Avatar answered Oct 07 '22 12:10

kblst