QFileDialog:选择文件后添加后缀

时间:2016-07-28 13:22:54

标签: c++ qt qfiledialog

我需要在QFileDialog中使用QFileDialog::AcceptSave接受模式为所选文件名添加后缀。例如,选择" 1.txt" QFileDialog编辑中的文件应该选择" 1_suffix.txt"。它应该在文件接受之前添加,因为我需要用户能够在应用文件之前更改文件名。

代码:

m_dialog.setAcceptMode(QFileDialog::AcceptSave);
m_dialog.setWindowModality(Qt::WindowModal);
m_dialog.setFileMode(QFileDialog::AnyFile);
m_dialog.setDefaultSuffix("_suffix");
if(m_dialog.exec() == QFileDialog::Accept)
{
    setPath(m_dialog.selectedFiles()[0]);
}

2 个答案:

答案 0 :(得分:1)

通常,QFileDialog正在显示平台文件对话框。为了获得您想要的行为,您需要使用特定于平台的机制; Qt没有实现这样的功能。

如果您正在使用非本机文件对话框,则可以检查其结构以查找您之后的窗口小部件,过滤相关事件并注入您需要的行为。 / p>

答案 1 :(得分:0)

尝试扩展QFileDialog并订阅QFileDialog信号

  void fileSelected(QString file)
  void currentChanged(QString path)

这可以是一个开始。