Qt:隐藏getSaveFileName中的文件夹

时间:2014-03-07 15:56:22

标签: c++ qt qtgui qfiledialog qtwidgets

我想使用QFileDialog::getSaveFileName保存文件而不允许选择路径或至少隐藏文件夹。 阅读文档我尝试将QFileDialog::ShowDirsOnly设置为这样的选项:

QString fileName = QFileDialog::getSaveFileName(this,
                                                tr("..."), path, tr("... (*.txt)"), 0, QFileDialog::ShowDirsOnly);

但它不起作用或者它不是我想要的。

有没有办法保存文件而无法在系统中查找位置并使用QFileDialog::getSaveFileName?或者我是否需要构建自己的QFileDialog,我将只写出文件的名称?

我希望有人能理解我的问题。

1 个答案:

答案 0 :(得分:0)

正如评论中所指出的那样,你正在寻找一个特定的行为,这个行为并不是QFileDialog,尽管有些相似,但是不可否认。

我认为不可能从QFileDialog缩小此功能,所以我个人会在后台执行我自己的输入框并进行必要的健全性检查。

QFileDialog实现可能会为这些检查提供一些提示,但查看源代码并不重要,因为这些操作相对简单。

然后,您可以使用消息框提供警告和错误消息。话虽如此,Qt 5可能更有利于考虑QML进行此类操作。