Mac OS X で「名前を付けて保存...」ダイアログを作成しようとしましたがQFileDialog::getSaveFileName()
、関数を使用したくありません。この関数によって作成されたダイアログは、Mac OS X Lion では真にネイティブではないためです。そこで、ダイアログをQFileDialog
オブジェクトとして作成することにしました:
auto export_dialog( new QFileDialog( main_window ) );
export_dialog->setWindowModality( Qt::WindowModal );
export_dialog->setFileMode( QFileDialog::AnyFile );
export_dialog->setAcceptMode( QFileDialog::AcceptSave );
1 つの問題を除いて、すべて正常に動作します。保存したファイルのデフォルト名を設定できないため、ユーザーは毎回この名前を手動で入力する必要があります。この関数では、3 番目の引数dir ( http://qt-project.org/doc/qt-4.8/qfiledialog.html#getSaveFileNameQFileDialog::getSaveFileName()
)を使用してデフォルトのファイル名を設定できることを知っています。しかし、この関数なしでこのデフォルト名を設定するにはどうすればよいでしょうか?
関数を介して保存されたファイルのデフォルトのサフィックスを設定できますQFileDialog::setDefaultSuffix()
が、デフォルトのサフィックスだけでなく、デフォルトの名前全体を設定する必要があります。
関数を使用しようとしましたQFileDialog::setDirectory()
が、保存するファイルの名前なしで、保存するディレクトリのみを設定します。
Mac OS X Lion で Qt 4.8.1 を使用しています。