代码之家  ›  专栏  ›  技术社区  ›  Greg K

如何在QFileDialog上设置所选过滤器?

  •  25
  • Greg K  · 技术社区  · 16 年前

    我有一个带有三个过滤器的“打开文件”对话框:

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

    我试着指定第五个参数( QString )设置默认的选定过滤器,但这不起作用。我认为这可能只用于检索用户设置的过滤器。

    1 回复  |  直到 11 年前
        1
  •  54
  •   eyllanesc    7 年前

    这样地:

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

    这个 docs

        2
  •  2
  •   kblst    5 年前

    下面是所有支持QT的图像格式的字符串。

    "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)"