如何设置所选过滤器上QFileDialog?(How to set selected filter

2019-08-31 08:13发布

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

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

这显示与“JPEG”对话框中选择作为默认过滤器。 我希望把按字母顺序排列的过滤器列表中,这样“所有文件”最早是在列表中。 如果我这样做,但是,“所有文件”是默认选择的过滤器 - 这是我不想要的。

我可以设置默认选择的过滤器该对话框或我去的第一个指定的过滤器?

我试图指定五参数( QString )来设置默认选择的过滤器,但并没有工作。 我认为这可能只是被用来获取由用户设定的过滤器。

Answer 1:

像这样:

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

该文档是有点模糊这一点,所以我猜测通过发现了这一点。



文章来源: How to set selected filter on QFileDialog?
标签: c++ qt qt4