いくつかのフィルターを含むgetSaveFileNameがあり、ユーザーが[保存]ダイアログを開いたときにそのうちの1つを選択したいと思います。Qtのドキュメントには次のように書かれています。
selectedFilterを目的の値に設定することにより、デフォルトのフィルターを選択できます。
私は次の変種を試します:
QString selFilter="All files (*.*)";
QFileDialog::getSaveFileName(this,"Save file",QDir::currentPath(),
"Text files (*.txt);;All files (*.*)",&selFilter);
ただし、ダイアログが表示されると、[テキストファイル]フィルター(通常、リストの最初のフィルター)が選択されます。また、次のすべてを試しました。
selFilter="All files";
selFilter="All files (*.*)\n";
selFilter="All files (*.*);;";
selFilter="All files (*.*)\0";
そしてこの変種の異なる混合物。私のコードのフィルターリストのフォーマットは、ドキュメント(Qtドキュメントの例の行)に従って行われます:
"Images (*.png *.xpm *.jpg);;Text files (*.txt);;XML files (*.xml)"
selFilter変数への出力は正しく機能することに注意してください。ユーザーが[OK]を押すと、selFilter変数にはユーザーが選択したフィルターが含まれます。
プラットフォーム:Linux(OpenSUSE 12.1)、Qt 4.7.4、gcc4.6.2。
では、デフォルトのフィルターを設定する方法は?!