题
我有一个包含三个过滤器的打开文件对话框:
QString fileName = QFileDialog::getOpenFileName(
this,
title,
directory,
tr("JPEG (*.jpg *.jpeg);; TIFF (*.tif);; All files (*.*)")
);
这会显示一个带有“JPEG”的对话框。被选为默认过滤器。我想按字母顺序排列过滤器列表,因此“所有文件”都是按字母顺序排列的。在列表中排在第一位。但是,如果我这样做,则“所有文件”是默认选择的过滤器 - 我不想要。
我可以为此对话框设置默认选定的过滤器,还是必须使用第一个指定的过滤器?
我尝试指定第5个参数( QString
)来设置默认选择的过滤器,但这不起作用。我认为这可能只用于检索用户设置的过滤器。
解决方案
像这样:
QString selfilter = tr("JPEG (*.jpg *.jpeg)");
QString fileName = QFileDialog::getOpenFileName(
this,
title,
directory,
tr("All files (*.*);;JPEG (*.jpg *.jpeg);;TIFF (*.tif)" ),
&selfilter
);
docs 对此有点模糊,所以我找到了这是通过猜测。
不隶属于 StackOverflow