我尝试在 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 );
一切正常,除了一个问题。我无法为保存的文件设置默认名称,因此用户每次都必须手动输入此名称。我知道该函数QFileDialog::getSaveFileName()
允许通过第三个参数dir ( http://qt-project.org/doc/qt-4.8/qfiledialog.html#getSaveFileName ) 设置默认文件名。但是如果没有这个功能,如何设置这个默认名称呢?
我可以通过函数为保存的文件设置默认后缀QFileDialog::setDefaultSuffix()
,但我需要设置整个默认名称,而不仅仅是默认后缀。
我试过使用QFileDialog::setDirectory()
函数,但它只设置保存的目录,没有保存文件的名称。
我在 Mac OS X Lion 上使用 Qt 4.8.1。