我需要在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]);
}
答案 0 :(得分:1)
通常,QFileDialog
正在显示平台文件对话框。为了获得您想要的行为,您需要使用特定于平台的机制; Qt没有实现这样的功能。
如果您正在使用非本机文件对话框,则可以检查其结构以查找您之后的窗口小部件,过滤相关事件并注入您需要的行为。 / p>
答案 1 :(得分:0)
尝试扩展QFileDialog并订阅QFileDialog信号
void fileSelected(QString file)
void currentChanged(QString path)
这可以是一个开始。